1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -triple i386-unknown-unknown --show-encoding %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker pause 4*9880d681SAndroid Build Coastguard Worker// CHECK: pause 5*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xf3,0x90] 6*9880d681SAndroid Build Coastguard Worker sfence 7*9880d681SAndroid Build Coastguard Worker// CHECK: sfence 8*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0xae,0xf8] 9*9880d681SAndroid Build Coastguard Worker lfence 10*9880d681SAndroid Build Coastguard Worker// CHECK: lfence 11*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0xae,0xe8] 12*9880d681SAndroid Build Coastguard Worker mfence 13*9880d681SAndroid Build Coastguard Worker// CHECK: mfence 14*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0xae,0xf0] 15*9880d681SAndroid Build Coastguard Worker monitor 16*9880d681SAndroid Build Coastguard Worker// CHECK: monitor 17*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x01,0xc8] 18*9880d681SAndroid Build Coastguard Worker monitor %eax, %ecx, %edx 19*9880d681SAndroid Build Coastguard Worker// CHECK: monitor 20*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x01,0xc8] 21*9880d681SAndroid Build Coastguard Worker mwait 22*9880d681SAndroid Build Coastguard Worker// CHECK: mwait 23*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x01,0xc9] 24*9880d681SAndroid Build Coastguard Worker mwait %eax, %ecx 25*9880d681SAndroid Build Coastguard Worker// CHECK: mwait 26*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x01,0xc9] 27*9880d681SAndroid Build Coastguard Worker 28*9880d681SAndroid Build Coastguard Worker vmcall 29*9880d681SAndroid Build Coastguard Worker// CHECK: vmcall 30*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x01,0xc1] 31*9880d681SAndroid Build Coastguard Worker vmfunc 32*9880d681SAndroid Build Coastguard Worker// CHECK: vmfunc 33*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x01,0xd4] 34*9880d681SAndroid Build Coastguard Worker vmlaunch 35*9880d681SAndroid Build Coastguard Worker// CHECK: vmlaunch 36*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x01,0xc2] 37*9880d681SAndroid Build Coastguard Worker vmresume 38*9880d681SAndroid Build Coastguard Worker// CHECK: vmresume 39*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x01,0xc3] 40*9880d681SAndroid Build Coastguard Worker vmxoff 41*9880d681SAndroid Build Coastguard Worker// CHECK: vmxoff 42*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x01,0xc4] 43*9880d681SAndroid Build Coastguard Worker swapgs 44*9880d681SAndroid Build Coastguard Worker// CHECK: swapgs 45*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x01,0xf8] 46*9880d681SAndroid Build Coastguard Worker 47*9880d681SAndroid Build Coastguard Worker vmrun %eax 48*9880d681SAndroid Build Coastguard Worker// CHECK: vmrun %eax 49*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x01,0xd8] 50*9880d681SAndroid Build Coastguard Worker vmmcall 51*9880d681SAndroid Build Coastguard Worker// CHECK: vmmcall 52*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x01,0xd9] 53*9880d681SAndroid Build Coastguard Worker vmload %eax 54*9880d681SAndroid Build Coastguard Worker// CHECK: vmload %eax 55*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x01,0xda] 56*9880d681SAndroid Build Coastguard Worker vmsave %eax 57*9880d681SAndroid Build Coastguard Worker// CHECK: vmsave %eax 58*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x01,0xdb] 59*9880d681SAndroid Build Coastguard Worker stgi 60*9880d681SAndroid Build Coastguard Worker// CHECK: stgi 61*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x01,0xdc] 62*9880d681SAndroid Build Coastguard Worker clgi 63*9880d681SAndroid Build Coastguard Worker// CHECK: clgi 64*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x01,0xdd] 65*9880d681SAndroid Build Coastguard Worker skinit %eax 66*9880d681SAndroid Build Coastguard Worker// CHECK: skinit %eax 67*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x01,0xde] 68*9880d681SAndroid Build Coastguard Worker invlpga %ecx, %eax 69*9880d681SAndroid Build Coastguard Worker// CHECK: invlpga %ecx, %eax 70*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x01,0xdf] 71*9880d681SAndroid Build Coastguard Worker 72*9880d681SAndroid Build Coastguard Worker rdtscp 73*9880d681SAndroid Build Coastguard Worker// CHECK: rdtscp 74*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x01,0xf9] 75*9880d681SAndroid Build Coastguard Worker 76*9880d681SAndroid Build Coastguard Worker 77*9880d681SAndroid Build Coastguard Worker// CHECK: movl %eax, 16(%ebp) # encoding: [0x89,0x45,0x10] 78*9880d681SAndroid Build Coastguard Worker movl %eax, 16(%ebp) 79*9880d681SAndroid Build Coastguard Worker// CHECK: movl %eax, -16(%ebp) # encoding: [0x89,0x45,0xf0] 80*9880d681SAndroid Build Coastguard Worker movl %eax, -16(%ebp) 81*9880d681SAndroid Build Coastguard Worker 82*9880d681SAndroid Build Coastguard Worker// CHECK: testb %bl, %cl # encoding: [0x84,0xd9] 83*9880d681SAndroid Build Coastguard Worker testb %bl, %cl 84*9880d681SAndroid Build Coastguard Worker 85*9880d681SAndroid Build Coastguard Worker// CHECK: cmpl %eax, %ebx # encoding: [0x39,0xc3] 86*9880d681SAndroid Build Coastguard Worker cmpl %eax, %ebx 87*9880d681SAndroid Build Coastguard Worker 88*9880d681SAndroid Build Coastguard Worker// CHECK: addw %ax, %ax # encoding: [0x66,0x01,0xc0] 89*9880d681SAndroid Build Coastguard Worker addw %ax, %ax 90*9880d681SAndroid Build Coastguard Worker 91*9880d681SAndroid Build Coastguard Worker// CHECK: shrl %eax # encoding: [0xd1,0xe8] 92*9880d681SAndroid Build Coastguard Worker shrl $1, %eax 93*9880d681SAndroid Build Coastguard Worker 94*9880d681SAndroid Build Coastguard Worker// CHECK: shll %eax # encoding: [0xd1,0xe0] 95*9880d681SAndroid Build Coastguard Worker sall $1, %eax 96*9880d681SAndroid Build Coastguard Worker// CHECK: shll %eax # encoding: [0xd1,0xe0] 97*9880d681SAndroid Build Coastguard Worker sal $1, %eax 98*9880d681SAndroid Build Coastguard Worker 99*9880d681SAndroid Build Coastguard Worker// moffset forms of moves, rdar://7947184 100*9880d681SAndroid Build Coastguard Workermovb 0, %al // CHECK: movb 0, %al # encoding: [0xa0,0x00,0x00,0x00,0x00] 101*9880d681SAndroid Build Coastguard Workermovw 0, %ax // CHECK: movw 0, %ax # encoding: [0x66,0xa1,0x00,0x00,0x00,0x00] 102*9880d681SAndroid Build Coastguard Workermovl 0, %eax // CHECK: movl 0, %eax # encoding: [0xa1,0x00,0x00,0x00,0x00] 103*9880d681SAndroid Build Coastguard Worker 104*9880d681SAndroid Build Coastguard Worker// rdar://7973775 105*9880d681SAndroid Build Coastguard Workerinto 106*9880d681SAndroid Build Coastguard Worker// CHECK: into 107*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xce] 108*9880d681SAndroid Build Coastguard Workerint3 109*9880d681SAndroid Build Coastguard Worker// CHECK: int3 110*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xcc] 111*9880d681SAndroid Build Coastguard Workerint $4 112*9880d681SAndroid Build Coastguard Worker// CHECK: int $4 113*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xcd,0x04] 114*9880d681SAndroid Build Coastguard Workerint $255 115*9880d681SAndroid Build Coastguard Worker// CHECK: int $255 116*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xcd,0xff] 117*9880d681SAndroid Build Coastguard Worker 118*9880d681SAndroid Build Coastguard Worker// CHECK: pushfl # encoding: [0x9c] 119*9880d681SAndroid Build Coastguard Worker pushf 120*9880d681SAndroid Build Coastguard Worker// CHECK: pushfl # encoding: [0x9c] 121*9880d681SAndroid Build Coastguard Worker pushfl 122*9880d681SAndroid Build Coastguard Worker// CHECK: popfl # encoding: [0x9d] 123*9880d681SAndroid Build Coastguard Worker popf 124*9880d681SAndroid Build Coastguard Worker// CHECK: popfl # encoding: [0x9d] 125*9880d681SAndroid Build Coastguard Worker popfl 126*9880d681SAndroid Build Coastguard Worker 127*9880d681SAndroid Build Coastguard Worker// rdar://8014869 128*9880d681SAndroid Build Coastguard Workerretl 129*9880d681SAndroid Build Coastguard Worker// CHECK: ret 130*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc3] 131*9880d681SAndroid Build Coastguard Worker 132*9880d681SAndroid Build Coastguard Worker// rdar://7973854 133*9880d681SAndroid Build Coastguard Worker// CHECK: cmoval %eax, %edx 134*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x47,0xd0] 135*9880d681SAndroid Build Coastguard Worker cmoval %eax,%edx 136*9880d681SAndroid Build Coastguard Worker 137*9880d681SAndroid Build Coastguard Worker// CHECK: cmovael %eax, %edx 138*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x43,0xd0] 139*9880d681SAndroid Build Coastguard Worker cmovael %eax,%edx 140*9880d681SAndroid Build Coastguard Worker 141*9880d681SAndroid Build Coastguard Worker// CHECK: cmovbel %eax, %edx 142*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x46,0xd0] 143*9880d681SAndroid Build Coastguard Worker cmovbel %eax,%edx 144*9880d681SAndroid Build Coastguard Worker 145*9880d681SAndroid Build Coastguard Worker// CHECK: cmovbl %eax, %edx 146*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x42,0xd0] 147*9880d681SAndroid Build Coastguard Worker cmovbl %eax,%edx 148*9880d681SAndroid Build Coastguard Worker 149*9880d681SAndroid Build Coastguard Worker// CHECK: cmovbw %bx, %bx 150*9880d681SAndroid Build Coastguard Workercmovnae %bx,%bx 151*9880d681SAndroid Build Coastguard Worker 152*9880d681SAndroid Build Coastguard Worker 153*9880d681SAndroid Build Coastguard Worker// CHECK: cmovbel %eax, %edx 154*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x46,0xd0] 155*9880d681SAndroid Build Coastguard Worker cmovbel %eax,%edx 156*9880d681SAndroid Build Coastguard Worker 157*9880d681SAndroid Build Coastguard Worker// CHECK: cmovbl %eax, %edx 158*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x42,0xd0] 159*9880d681SAndroid Build Coastguard Worker cmovcl %eax,%edx 160*9880d681SAndroid Build Coastguard Worker 161*9880d681SAndroid Build Coastguard Worker// CHECK: cmovel %eax, %edx 162*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x44,0xd0] 163*9880d681SAndroid Build Coastguard Worker cmovel %eax,%edx 164*9880d681SAndroid Build Coastguard Worker 165*9880d681SAndroid Build Coastguard Worker// CHECK: cmovgl %eax, %edx 166*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x4f,0xd0] 167*9880d681SAndroid Build Coastguard Worker cmovgl %eax,%edx 168*9880d681SAndroid Build Coastguard Worker 169*9880d681SAndroid Build Coastguard Worker// CHECK: cmovgel %eax, %edx 170*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x4d,0xd0] 171*9880d681SAndroid Build Coastguard Worker cmovgel %eax,%edx 172*9880d681SAndroid Build Coastguard Worker 173*9880d681SAndroid Build Coastguard Worker// CHECK: cmovll %eax, %edx 174*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x4c,0xd0] 175*9880d681SAndroid Build Coastguard Worker cmovll %eax,%edx 176*9880d681SAndroid Build Coastguard Worker 177*9880d681SAndroid Build Coastguard Worker// CHECK: cmovlel %eax, %edx 178*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x4e,0xd0] 179*9880d681SAndroid Build Coastguard Worker cmovlel %eax,%edx 180*9880d681SAndroid Build Coastguard Worker 181*9880d681SAndroid Build Coastguard Worker// CHECK: cmovbel %eax, %edx 182*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x46,0xd0] 183*9880d681SAndroid Build Coastguard Worker cmovnal %eax,%edx 184*9880d681SAndroid Build Coastguard Worker 185*9880d681SAndroid Build Coastguard Worker// CHECK: cmovnel %eax, %edx 186*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x45,0xd0] 187*9880d681SAndroid Build Coastguard Worker cmovnel %eax,%edx 188*9880d681SAndroid Build Coastguard Worker 189*9880d681SAndroid Build Coastguard Worker// CHECK: cmovael %eax, %edx 190*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x43,0xd0] 191*9880d681SAndroid Build Coastguard Worker cmovnbl %eax,%edx 192*9880d681SAndroid Build Coastguard Worker 193*9880d681SAndroid Build Coastguard Worker// CHECK: cmoval %eax, %edx 194*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x47,0xd0] 195*9880d681SAndroid Build Coastguard Worker cmovnbel %eax,%edx 196*9880d681SAndroid Build Coastguard Worker 197*9880d681SAndroid Build Coastguard Worker// CHECK: cmovael %eax, %edx 198*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x43,0xd0] 199*9880d681SAndroid Build Coastguard Worker cmovncl %eax,%edx 200*9880d681SAndroid Build Coastguard Worker 201*9880d681SAndroid Build Coastguard Worker// CHECK: cmovnel %eax, %edx 202*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x45,0xd0] 203*9880d681SAndroid Build Coastguard Worker cmovnel %eax,%edx 204*9880d681SAndroid Build Coastguard Worker 205*9880d681SAndroid Build Coastguard Worker// CHECK: cmovlel %eax, %edx 206*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x4e,0xd0] 207*9880d681SAndroid Build Coastguard Worker cmovngl %eax,%edx 208*9880d681SAndroid Build Coastguard Worker 209*9880d681SAndroid Build Coastguard Worker// CHECK: cmovgel %eax, %edx 210*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x4d,0xd0] 211*9880d681SAndroid Build Coastguard Worker cmovnl %eax,%edx 212*9880d681SAndroid Build Coastguard Worker 213*9880d681SAndroid Build Coastguard Worker// CHECK: cmovnel %eax, %edx 214*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x45,0xd0] 215*9880d681SAndroid Build Coastguard Worker cmovnel %eax,%edx 216*9880d681SAndroid Build Coastguard Worker 217*9880d681SAndroid Build Coastguard Worker// CHECK: cmovlel %eax, %edx 218*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x4e,0xd0] 219*9880d681SAndroid Build Coastguard Worker cmovngl %eax,%edx 220*9880d681SAndroid Build Coastguard Worker 221*9880d681SAndroid Build Coastguard Worker// CHECK: cmovll %eax, %edx 222*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x4c,0xd0] 223*9880d681SAndroid Build Coastguard Worker cmovngel %eax,%edx 224*9880d681SAndroid Build Coastguard Worker 225*9880d681SAndroid Build Coastguard Worker// CHECK: cmovgel %eax, %edx 226*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x4d,0xd0] 227*9880d681SAndroid Build Coastguard Worker cmovnll %eax,%edx 228*9880d681SAndroid Build Coastguard Worker 229*9880d681SAndroid Build Coastguard Worker// CHECK: cmovgl %eax, %edx 230*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x4f,0xd0] 231*9880d681SAndroid Build Coastguard Worker cmovnlel %eax,%edx 232*9880d681SAndroid Build Coastguard Worker 233*9880d681SAndroid Build Coastguard Worker// CHECK: cmovnol %eax, %edx 234*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x41,0xd0] 235*9880d681SAndroid Build Coastguard Worker cmovnol %eax,%edx 236*9880d681SAndroid Build Coastguard Worker 237*9880d681SAndroid Build Coastguard Worker// CHECK: cmovnpl %eax, %edx 238*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x4b,0xd0] 239*9880d681SAndroid Build Coastguard Worker cmovnpl %eax,%edx 240*9880d681SAndroid Build Coastguard Worker 241*9880d681SAndroid Build Coastguard Worker// CHECK: cmovnsl %eax, %edx 242*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x49,0xd0] 243*9880d681SAndroid Build Coastguard Worker cmovnsl %eax,%edx 244*9880d681SAndroid Build Coastguard Worker 245*9880d681SAndroid Build Coastguard Worker// CHECK: cmovnel %eax, %edx 246*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x45,0xd0] 247*9880d681SAndroid Build Coastguard Worker cmovnzl %eax,%edx 248*9880d681SAndroid Build Coastguard Worker 249*9880d681SAndroid Build Coastguard Worker// CHECK: cmovol %eax, %edx 250*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x40,0xd0] 251*9880d681SAndroid Build Coastguard Worker cmovol %eax,%edx 252*9880d681SAndroid Build Coastguard Worker 253*9880d681SAndroid Build Coastguard Worker// CHECK: cmovpl %eax, %edx 254*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x4a,0xd0] 255*9880d681SAndroid Build Coastguard Worker cmovpl %eax,%edx 256*9880d681SAndroid Build Coastguard Worker 257*9880d681SAndroid Build Coastguard Worker// CHECK: cmovsl %eax, %edx 258*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x48,0xd0] 259*9880d681SAndroid Build Coastguard Worker cmovsl %eax,%edx 260*9880d681SAndroid Build Coastguard Worker 261*9880d681SAndroid Build Coastguard Worker// CHECK: cmovel %eax, %edx 262*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x44,0xd0] 263*9880d681SAndroid Build Coastguard Worker cmovzl %eax,%edx 264*9880d681SAndroid Build Coastguard Worker 265*9880d681SAndroid Build Coastguard Worker// CHECK: cmpps $0, %xmm0, %xmm1 266*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0xc2,0xc8,0x00] 267*9880d681SAndroid Build Coastguard Worker cmpps $0, %xmm0, %xmm1 268*9880d681SAndroid Build Coastguard Worker// CHECK: cmpps $0, (%eax), %xmm1 269*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0xc2,0x08,0x00] 270*9880d681SAndroid Build Coastguard Worker cmpps $0, 0(%eax), %xmm1 271*9880d681SAndroid Build Coastguard Worker// CHECK: cmppd $0, %xmm0, %xmm1 272*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x66,0x0f,0xc2,0xc8,0x00] 273*9880d681SAndroid Build Coastguard Worker cmppd $0, %xmm0, %xmm1 274*9880d681SAndroid Build Coastguard Worker// CHECK: cmppd $0, (%eax), %xmm1 275*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x66,0x0f,0xc2,0x08,0x00] 276*9880d681SAndroid Build Coastguard Worker cmppd $0, 0(%eax), %xmm1 277*9880d681SAndroid Build Coastguard Worker// CHECK: cmpss $0, %xmm0, %xmm1 278*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xf3,0x0f,0xc2,0xc8,0x00] 279*9880d681SAndroid Build Coastguard Worker cmpss $0, %xmm0, %xmm1 280*9880d681SAndroid Build Coastguard Worker// CHECK: cmpss $0, (%eax), %xmm1 281*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xf3,0x0f,0xc2,0x08,0x00] 282*9880d681SAndroid Build Coastguard Worker cmpss $0, 0(%eax), %xmm1 283*9880d681SAndroid Build Coastguard Worker// CHECK: cmpsd $0, %xmm0, %xmm1 284*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xf2,0x0f,0xc2,0xc8,0x00] 285*9880d681SAndroid Build Coastguard Worker cmpsd $0, %xmm0, %xmm1 286*9880d681SAndroid Build Coastguard Worker// CHECK: cmpsd $0, (%eax), %xmm1 287*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xf2,0x0f,0xc2,0x08,0x00] 288*9880d681SAndroid Build Coastguard Worker cmpsd $0, 0(%eax), %xmm1 289*9880d681SAndroid Build Coastguard Worker 290*9880d681SAndroid Build Coastguard Worker// Check matching of instructions which embed the SSE comparison code. 291*9880d681SAndroid Build Coastguard Worker 292*9880d681SAndroid Build Coastguard Worker// CHECK: cmpeqps %xmm0, %xmm1 293*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0xc2,0xc8,0x00] 294*9880d681SAndroid Build Coastguard Worker cmpeqps %xmm0, %xmm1 295*9880d681SAndroid Build Coastguard Worker 296*9880d681SAndroid Build Coastguard Worker// CHECK: cmpltpd %xmm0, %xmm1 297*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x66,0x0f,0xc2,0xc8,0x01] 298*9880d681SAndroid Build Coastguard Worker cmpltpd %xmm0, %xmm1 299*9880d681SAndroid Build Coastguard Worker 300*9880d681SAndroid Build Coastguard Worker// CHECK: cmpless %xmm0, %xmm1 301*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xf3,0x0f,0xc2,0xc8,0x02] 302*9880d681SAndroid Build Coastguard Worker cmpless %xmm0, %xmm1 303*9880d681SAndroid Build Coastguard Worker 304*9880d681SAndroid Build Coastguard Worker// CHECK: cmpunordpd %xmm0, %xmm1 305*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x66,0x0f,0xc2,0xc8,0x03] 306*9880d681SAndroid Build Coastguard Worker cmpunordpd %xmm0, %xmm1 307*9880d681SAndroid Build Coastguard Worker 308*9880d681SAndroid Build Coastguard Worker// CHECK: cmpneqps %xmm0, %xmm1 309*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0xc2,0xc8,0x04] 310*9880d681SAndroid Build Coastguard Worker cmpneqps %xmm0, %xmm1 311*9880d681SAndroid Build Coastguard Worker 312*9880d681SAndroid Build Coastguard Worker// CHECK: cmpnltpd %xmm0, %xmm1 313*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x66,0x0f,0xc2,0xc8,0x05] 314*9880d681SAndroid Build Coastguard Worker cmpnltpd %xmm0, %xmm1 315*9880d681SAndroid Build Coastguard Worker 316*9880d681SAndroid Build Coastguard Worker// CHECK: cmpnless %xmm0, %xmm1 317*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xf3,0x0f,0xc2,0xc8,0x06] 318*9880d681SAndroid Build Coastguard Worker cmpnless %xmm0, %xmm1 319*9880d681SAndroid Build Coastguard Worker 320*9880d681SAndroid Build Coastguard Worker// CHECK: cmpordsd %xmm0, %xmm1 321*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xf2,0x0f,0xc2,0xc8,0x07] 322*9880d681SAndroid Build Coastguard Worker cmpordsd %xmm0, %xmm1 323*9880d681SAndroid Build Coastguard Worker 324*9880d681SAndroid Build Coastguard Worker// rdar://7995856 325*9880d681SAndroid Build Coastguard Worker// CHECK: fmul %st(0) 326*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xd8,0xc8] 327*9880d681SAndroid Build Coastguard Worker fmul %st(0), %st 328*9880d681SAndroid Build Coastguard Worker 329*9880d681SAndroid Build Coastguard Worker// CHECK: fadd %st(0) 330*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xd8,0xc0] 331*9880d681SAndroid Build Coastguard Worker fadd %st(0), %st 332*9880d681SAndroid Build Coastguard Worker 333*9880d681SAndroid Build Coastguard Worker// CHECK: fsub %st(0) 334*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xd8,0xe0] 335*9880d681SAndroid Build Coastguard Worker fsub %st(0), %st 336*9880d681SAndroid Build Coastguard Worker 337*9880d681SAndroid Build Coastguard Worker// CHECK: fsubr %st(0) 338*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xd8,0xe8] 339*9880d681SAndroid Build Coastguard Worker fsubr %st(0), %st 340*9880d681SAndroid Build Coastguard Worker 341*9880d681SAndroid Build Coastguard Worker// CHECK: fdivr %st(0) 342*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xd8,0xf8] 343*9880d681SAndroid Build Coastguard Worker fdivr %st(0), %st 344*9880d681SAndroid Build Coastguard Worker 345*9880d681SAndroid Build Coastguard Worker// CHECK: fdiv %st(0) 346*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xd8,0xf0] 347*9880d681SAndroid Build Coastguard Worker fdiv %st(0), %st 348*9880d681SAndroid Build Coastguard Worker 349*9880d681SAndroid Build Coastguard Worker// radr://8017519 350*9880d681SAndroid Build Coastguard Worker// CHECK: movl %cs, %eax 351*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8c,0xc8] 352*9880d681SAndroid Build Coastguard Worker movl %cs, %eax 353*9880d681SAndroid Build Coastguard Worker 354*9880d681SAndroid Build Coastguard Worker// CHECK: movw %cs, %ax 355*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x66,0x8c,0xc8] 356*9880d681SAndroid Build Coastguard Worker movw %cs, %ax 357*9880d681SAndroid Build Coastguard Worker 358*9880d681SAndroid Build Coastguard Worker// CHECK: movl %cs, (%eax) 359*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8c,0x08] 360*9880d681SAndroid Build Coastguard Worker movl %cs, (%eax) 361*9880d681SAndroid Build Coastguard Worker 362*9880d681SAndroid Build Coastguard Worker// CHECK: movw %cs, (%eax) 363*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x66,0x8c,0x08] 364*9880d681SAndroid Build Coastguard Worker movw %cs, (%eax) 365*9880d681SAndroid Build Coastguard Worker 366*9880d681SAndroid Build Coastguard Worker// CHECK: movl %eax, %cs 367*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8e,0xc8] 368*9880d681SAndroid Build Coastguard Worker movl %eax, %cs 369*9880d681SAndroid Build Coastguard Worker 370*9880d681SAndroid Build Coastguard Worker// CHECK: movl (%eax), %cs 371*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8e,0x08] 372*9880d681SAndroid Build Coastguard Worker movl (%eax), %cs 373*9880d681SAndroid Build Coastguard Worker 374*9880d681SAndroid Build Coastguard Worker// CHECK: movw (%eax), %cs 375*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x66,0x8e,0x08] 376*9880d681SAndroid Build Coastguard Worker movw (%eax), %cs 377*9880d681SAndroid Build Coastguard Worker 378*9880d681SAndroid Build Coastguard Worker// radr://8033374 379*9880d681SAndroid Build Coastguard Worker// CHECK: movl %cr0, %eax 380*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x20,0xc0] 381*9880d681SAndroid Build Coastguard Worker movl %cr0,%eax 382*9880d681SAndroid Build Coastguard Worker 383*9880d681SAndroid Build Coastguard Worker// CHECK: movl %cr1, %eax 384*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x20,0xc8] 385*9880d681SAndroid Build Coastguard Worker movl %cr1,%eax 386*9880d681SAndroid Build Coastguard Worker 387*9880d681SAndroid Build Coastguard Worker// CHECK: movl %cr2, %eax 388*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x20,0xd0] 389*9880d681SAndroid Build Coastguard Worker movl %cr2,%eax 390*9880d681SAndroid Build Coastguard Worker 391*9880d681SAndroid Build Coastguard Worker// CHECK: movl %cr3, %eax 392*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x20,0xd8] 393*9880d681SAndroid Build Coastguard Worker movl %cr3,%eax 394*9880d681SAndroid Build Coastguard Worker 395*9880d681SAndroid Build Coastguard Worker// CHECK: movl %cr4, %eax 396*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x20,0xe0] 397*9880d681SAndroid Build Coastguard Worker movl %cr4,%eax 398*9880d681SAndroid Build Coastguard Worker 399*9880d681SAndroid Build Coastguard Worker// CHECK: movl %dr0, %eax 400*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x21,0xc0] 401*9880d681SAndroid Build Coastguard Worker movl %dr0,%eax 402*9880d681SAndroid Build Coastguard Worker 403*9880d681SAndroid Build Coastguard Worker// CHECK: movl %dr1, %eax 404*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x21,0xc8] 405*9880d681SAndroid Build Coastguard Worker movl %dr1,%eax 406*9880d681SAndroid Build Coastguard Worker 407*9880d681SAndroid Build Coastguard Worker// CHECK: movl %dr1, %eax 408*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x21,0xc8] 409*9880d681SAndroid Build Coastguard Worker movl %dr1,%eax 410*9880d681SAndroid Build Coastguard Worker 411*9880d681SAndroid Build Coastguard Worker// CHECK: movl %dr2, %eax 412*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x21,0xd0] 413*9880d681SAndroid Build Coastguard Worker movl %dr2,%eax 414*9880d681SAndroid Build Coastguard Worker 415*9880d681SAndroid Build Coastguard Worker// CHECK: movl %dr3, %eax 416*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x21,0xd8] 417*9880d681SAndroid Build Coastguard Worker movl %dr3,%eax 418*9880d681SAndroid Build Coastguard Worker 419*9880d681SAndroid Build Coastguard Worker// CHECK: movl %dr4, %eax 420*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x21,0xe0] 421*9880d681SAndroid Build Coastguard Worker movl %dr4,%eax 422*9880d681SAndroid Build Coastguard Worker 423*9880d681SAndroid Build Coastguard Worker// CHECK: movl %dr5, %eax 424*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x21,0xe8] 425*9880d681SAndroid Build Coastguard Worker movl %dr5,%eax 426*9880d681SAndroid Build Coastguard Worker 427*9880d681SAndroid Build Coastguard Worker// CHECK: movl %dr6, %eax 428*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x21,0xf0] 429*9880d681SAndroid Build Coastguard Worker movl %dr6,%eax 430*9880d681SAndroid Build Coastguard Worker 431*9880d681SAndroid Build Coastguard Worker// CHECK: movl %dr7, %eax 432*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x21,0xf8] 433*9880d681SAndroid Build Coastguard Worker movl %dr7,%eax 434*9880d681SAndroid Build Coastguard Worker 435*9880d681SAndroid Build Coastguard Worker// radr://8017522 436*9880d681SAndroid Build Coastguard Worker// CHECK: wait 437*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x9b] 438*9880d681SAndroid Build Coastguard Worker fwait 439*9880d681SAndroid Build Coastguard Worker 440*9880d681SAndroid Build Coastguard Worker// rdar://7873482 441*9880d681SAndroid Build Coastguard Worker// CHECK: [0x65,0xa1,0x7c,0x00,0x00,0x00] 442*9880d681SAndroid Build Coastguard Worker movl %gs:124, %eax 443*9880d681SAndroid Build Coastguard Worker 444*9880d681SAndroid Build Coastguard Worker// CHECK: [0x65,0xa3,0x7c,0x00,0x00,0x00] 445*9880d681SAndroid Build Coastguard Worker movl %eax, %gs:124 446*9880d681SAndroid Build Coastguard Worker 447*9880d681SAndroid Build Coastguard Worker// CHECK: pushal 448*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x60] 449*9880d681SAndroid Build Coastguard Worker pusha 450*9880d681SAndroid Build Coastguard Worker 451*9880d681SAndroid Build Coastguard Worker// CHECK: popal 452*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x61] 453*9880d681SAndroid Build Coastguard Worker popa 454*9880d681SAndroid Build Coastguard Worker 455*9880d681SAndroid Build Coastguard Worker// CHECK: pushaw 456*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x66,0x60] 457*9880d681SAndroid Build Coastguard Worker pushaw 458*9880d681SAndroid Build Coastguard Worker 459*9880d681SAndroid Build Coastguard Worker// CHECK: popaw 460*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x66,0x61] 461*9880d681SAndroid Build Coastguard Worker popaw 462*9880d681SAndroid Build Coastguard Worker 463*9880d681SAndroid Build Coastguard Worker// CHECK: pushal 464*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x60] 465*9880d681SAndroid Build Coastguard Worker pushal 466*9880d681SAndroid Build Coastguard Worker 467*9880d681SAndroid Build Coastguard Worker// CHECK: popal 468*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x61] 469*9880d681SAndroid Build Coastguard Worker popal 470*9880d681SAndroid Build Coastguard Worker 471*9880d681SAndroid Build Coastguard Worker// CHECK: jmpl *8(%eax) 472*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xff,0x60,0x08] 473*9880d681SAndroid Build Coastguard Worker jmp *8(%eax) 474*9880d681SAndroid Build Coastguard Worker 475*9880d681SAndroid Build Coastguard Worker// PR7465 476*9880d681SAndroid Build Coastguard Worker// CHECK: lcalll $2, $4660 477*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x9a,0x34,0x12,0x00,0x00,0x02,0x00] 478*9880d681SAndroid Build Coastguard Workerlcalll $0x2, $0x1234 479*9880d681SAndroid Build Coastguard Worker 480*9880d681SAndroid Build Coastguard Worker 481*9880d681SAndroid Build Coastguard Worker// rdar://8061602 482*9880d681SAndroid Build Coastguard WorkerL1: 483*9880d681SAndroid Build Coastguard Worker jcxz L1 484*9880d681SAndroid Build Coastguard Worker// CHECK: jcxz L1 485*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x67,0xe3,A] 486*9880d681SAndroid Build Coastguard Worker jecxz L1 487*9880d681SAndroid Build Coastguard Worker// CHECK: jecxz L1 488*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xe3,A] 489*9880d681SAndroid Build Coastguard Worker 490*9880d681SAndroid Build Coastguard Worker// rdar://8403974 491*9880d681SAndroid Build Coastguard Workeriret 492*9880d681SAndroid Build Coastguard Worker// CHECK: iretl 493*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xcf] 494*9880d681SAndroid Build Coastguard Workeriretw 495*9880d681SAndroid Build Coastguard Worker// CHECK: iretw 496*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x66,0xcf] 497*9880d681SAndroid Build Coastguard Workeriretl 498*9880d681SAndroid Build Coastguard Worker// CHECK: iretl 499*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xcf] 500*9880d681SAndroid Build Coastguard Worker 501*9880d681SAndroid Build Coastguard Worker// rdar://8403907 502*9880d681SAndroid Build Coastguard Workersysret 503*9880d681SAndroid Build Coastguard Worker// CHECK: sysretl 504*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x07] 505*9880d681SAndroid Build Coastguard Workersysretl 506*9880d681SAndroid Build Coastguard Worker// CHECK: sysretl 507*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x07] 508*9880d681SAndroid Build Coastguard Worker 509*9880d681SAndroid Build Coastguard Worker// rdar://8018260 510*9880d681SAndroid Build Coastguard Workertestl %ecx, -24(%ebp) 511*9880d681SAndroid Build Coastguard Worker// CHECK: testl -24(%ebp), %ecx 512*9880d681SAndroid Build Coastguard Workertestl -24(%ebp), %ecx 513*9880d681SAndroid Build Coastguard Worker// CHECK: testl -24(%ebp), %ecx 514*9880d681SAndroid Build Coastguard Worker 515*9880d681SAndroid Build Coastguard Worker 516*9880d681SAndroid Build Coastguard Worker// rdar://8407242 517*9880d681SAndroid Build Coastguard Workerpush %cs 518*9880d681SAndroid Build Coastguard Worker// CHECK: pushl %cs 519*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0e] 520*9880d681SAndroid Build Coastguard Workerpush %ds 521*9880d681SAndroid Build Coastguard Worker// CHECK: pushl %ds 522*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x1e] 523*9880d681SAndroid Build Coastguard Workerpush %ss 524*9880d681SAndroid Build Coastguard Worker// CHECK: pushl %ss 525*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x16] 526*9880d681SAndroid Build Coastguard Workerpush %es 527*9880d681SAndroid Build Coastguard Worker// CHECK: pushl %es 528*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x06] 529*9880d681SAndroid Build Coastguard Workerpush %fs 530*9880d681SAndroid Build Coastguard Worker// CHECK: pushl %fs 531*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0xa0] 532*9880d681SAndroid Build Coastguard Workerpush %gs 533*9880d681SAndroid Build Coastguard Worker// CHECK: pushl %gs 534*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0xa8] 535*9880d681SAndroid Build Coastguard Worker 536*9880d681SAndroid Build Coastguard Workerpushw %cs 537*9880d681SAndroid Build Coastguard Worker// CHECK: pushw %cs 538*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x66,0x0e] 539*9880d681SAndroid Build Coastguard Workerpushw %ds 540*9880d681SAndroid Build Coastguard Worker// CHECK: pushw %ds 541*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x66,0x1e] 542*9880d681SAndroid Build Coastguard Workerpushw %ss 543*9880d681SAndroid Build Coastguard Worker// CHECK: pushw %ss 544*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x66,0x16] 545*9880d681SAndroid Build Coastguard Workerpushw %es 546*9880d681SAndroid Build Coastguard Worker// CHECK: pushw %es 547*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x66,0x06] 548*9880d681SAndroid Build Coastguard Workerpushw %fs 549*9880d681SAndroid Build Coastguard Worker// CHECK: pushw %fs 550*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x66,0x0f,0xa0] 551*9880d681SAndroid Build Coastguard Workerpushw %gs 552*9880d681SAndroid Build Coastguard Worker// CHECK: pushw %gs 553*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x66,0x0f,0xa8] 554*9880d681SAndroid Build Coastguard Worker 555*9880d681SAndroid Build Coastguard Workerpop %ss 556*9880d681SAndroid Build Coastguard Worker// CHECK: popl %ss 557*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x17] 558*9880d681SAndroid Build Coastguard Workerpop %ds 559*9880d681SAndroid Build Coastguard Worker// CHECK: popl %ds 560*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x1f] 561*9880d681SAndroid Build Coastguard Workerpop %es 562*9880d681SAndroid Build Coastguard Worker// CHECK: popl %es 563*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x07] 564*9880d681SAndroid Build Coastguard Worker 565*9880d681SAndroid Build Coastguard Worker// rdar://8408129 566*9880d681SAndroid Build Coastguard Workerpushfd 567*9880d681SAndroid Build Coastguard Worker// CHECK: pushfl 568*9880d681SAndroid Build Coastguard Workerpopfd 569*9880d681SAndroid Build Coastguard Worker// CHECK: popfl 570*9880d681SAndroid Build Coastguard Workerpushfl 571*9880d681SAndroid Build Coastguard Worker// CHECK: pushfl 572*9880d681SAndroid Build Coastguard Workerpopfl 573*9880d681SAndroid Build Coastguard Worker// CHECK: popfl 574*9880d681SAndroid Build Coastguard Worker 575*9880d681SAndroid Build Coastguard Worker 576*9880d681SAndroid Build Coastguard Worker// rdar://8416805 577*9880d681SAndroid Build Coastguard Worker setc %bl 578*9880d681SAndroid Build Coastguard Worker setnae %bl 579*9880d681SAndroid Build Coastguard Worker setnb %bl 580*9880d681SAndroid Build Coastguard Worker setnc %bl 581*9880d681SAndroid Build Coastguard Worker setna %bl 582*9880d681SAndroid Build Coastguard Worker setnbe %bl 583*9880d681SAndroid Build Coastguard Worker setpe %bl 584*9880d681SAndroid Build Coastguard Worker setpo %bl 585*9880d681SAndroid Build Coastguard Worker setnge %bl 586*9880d681SAndroid Build Coastguard Worker setnl %bl 587*9880d681SAndroid Build Coastguard Worker setng %bl 588*9880d681SAndroid Build Coastguard Worker setnle %bl 589*9880d681SAndroid Build Coastguard Worker 590*9880d681SAndroid Build Coastguard Worker// PR8686 591*9880d681SAndroid Build Coastguard Worker setneb %cl // CHECK: setne %cl 592*9880d681SAndroid Build Coastguard Worker setcb %bl // CHECK: setb %bl 593*9880d681SAndroid Build Coastguard Worker setnaeb %bl // CHECK: setb %bl 594*9880d681SAndroid Build Coastguard Worker 595*9880d681SAndroid Build Coastguard Worker 596*9880d681SAndroid Build Coastguard Worker// PR8114 597*9880d681SAndroid Build Coastguard Worker 598*9880d681SAndroid Build Coastguard Workerout %al, (%dx) 599*9880d681SAndroid Build Coastguard Worker// CHECK: outb %al, %dx 600*9880d681SAndroid Build Coastguard Workeroutb %al, (%dx) 601*9880d681SAndroid Build Coastguard Worker// CHECK: outb %al, %dx 602*9880d681SAndroid Build Coastguard Workerout %ax, (%dx) 603*9880d681SAndroid Build Coastguard Worker// CHECK: outw %ax, %dx 604*9880d681SAndroid Build Coastguard Workeroutw %ax, (%dx) 605*9880d681SAndroid Build Coastguard Worker// CHECK: outw %ax, %dx 606*9880d681SAndroid Build Coastguard Workerout %eax, (%dx) 607*9880d681SAndroid Build Coastguard Worker// CHECK: outl %eax, %dx 608*9880d681SAndroid Build Coastguard Workeroutl %eax, (%dx) 609*9880d681SAndroid Build Coastguard Worker// CHECK: outl %eax, %dx 610*9880d681SAndroid Build Coastguard Worker 611*9880d681SAndroid Build Coastguard Worker 612*9880d681SAndroid Build Coastguard Workerin (%dx), %al 613*9880d681SAndroid Build Coastguard Worker// CHECK: inb %dx, %al 614*9880d681SAndroid Build Coastguard Workerinb (%dx), %al 615*9880d681SAndroid Build Coastguard Worker// CHECK: inb %dx, %al 616*9880d681SAndroid Build Coastguard Workerin (%dx), %ax 617*9880d681SAndroid Build Coastguard Worker// CHECK: inw %dx, %ax 618*9880d681SAndroid Build Coastguard Workerinw (%dx), %ax 619*9880d681SAndroid Build Coastguard Worker// CHECK: inw %dx, %ax 620*9880d681SAndroid Build Coastguard Workerin (%dx), %eax 621*9880d681SAndroid Build Coastguard Worker// CHECK: inl %dx, %eax 622*9880d681SAndroid Build Coastguard Workerinl (%dx), %eax 623*9880d681SAndroid Build Coastguard Worker// CHECK: inl %dx, %eax 624*9880d681SAndroid Build Coastguard Worker 625*9880d681SAndroid Build Coastguard Worker//PR15455 626*9880d681SAndroid Build Coastguard Worker 627*9880d681SAndroid Build Coastguard Workerouts (%esi), (%dx) 628*9880d681SAndroid Build Coastguard Worker// CHECK: outsw (%esi), %dx 629*9880d681SAndroid Build Coastguard Workeroutsb (%esi), (%dx) 630*9880d681SAndroid Build Coastguard Worker// CHECK: outsb (%esi), %dx 631*9880d681SAndroid Build Coastguard Workeroutsw (%esi), (%dx) 632*9880d681SAndroid Build Coastguard Worker// CHECK: outsw (%esi), %dx 633*9880d681SAndroid Build Coastguard Workeroutsl (%esi), (%dx) 634*9880d681SAndroid Build Coastguard Worker// CHECK: outsl (%esi), %dx 635*9880d681SAndroid Build Coastguard Worker 636*9880d681SAndroid Build Coastguard Workerins (%dx), %es:(%edi) 637*9880d681SAndroid Build Coastguard Worker// CHECK: insw %dx, %es:(%edi) 638*9880d681SAndroid Build Coastguard Workerinsb (%dx), %es:(%edi) 639*9880d681SAndroid Build Coastguard Worker// CHECK: insb %dx, %es:(%edi) 640*9880d681SAndroid Build Coastguard Workerinsw (%dx), %es:(%edi) 641*9880d681SAndroid Build Coastguard Worker// CHECK: insw %dx, %es:(%edi) 642*9880d681SAndroid Build Coastguard Workerinsl (%dx), %es:(%edi) 643*9880d681SAndroid Build Coastguard Worker// CHECK: insl %dx, %es:(%edi) 644*9880d681SAndroid Build Coastguard Worker 645*9880d681SAndroid Build Coastguard Worker// CHECK: lcalll $31438, $31438 646*9880d681SAndroid Build Coastguard Worker// CHECK: lcalll $31438, $31438 647*9880d681SAndroid Build Coastguard Worker// CHECK: ljmpl $31438, $31438 648*9880d681SAndroid Build Coastguard Worker// CHECK: ljmpl $31438, $31438 649*9880d681SAndroid Build Coastguard Worker 650*9880d681SAndroid Build Coastguard Workercalll $0x7ace,$0x7ace 651*9880d681SAndroid Build Coastguard Workerlcalll $0x7ace,$0x7ace 652*9880d681SAndroid Build Coastguard Workerjmpl $0x7ace,$0x7ace 653*9880d681SAndroid Build Coastguard Workerljmpl $0x7ace,$0x7ace 654*9880d681SAndroid Build Coastguard Worker 655*9880d681SAndroid Build Coastguard Worker// CHECK: lcallw $31438, $31438 656*9880d681SAndroid Build Coastguard Worker// CHECK: lcallw $31438, $31438 657*9880d681SAndroid Build Coastguard Worker// CHECK: ljmpw $31438, $31438 658*9880d681SAndroid Build Coastguard Worker// CHECK: ljmpw $31438, $31438 659*9880d681SAndroid Build Coastguard Worker 660*9880d681SAndroid Build Coastguard Workercallw $0x7ace,$0x7ace 661*9880d681SAndroid Build Coastguard Workerlcallw $0x7ace,$0x7ace 662*9880d681SAndroid Build Coastguard Workerjmpw $0x7ace,$0x7ace 663*9880d681SAndroid Build Coastguard Workerljmpw $0x7ace,$0x7ace 664*9880d681SAndroid Build Coastguard Worker 665*9880d681SAndroid Build Coastguard Worker// CHECK: lcalll $31438, $31438 666*9880d681SAndroid Build Coastguard Worker// CHECK: lcalll $31438, $31438 667*9880d681SAndroid Build Coastguard Worker// CHECK: ljmpl $31438, $31438 668*9880d681SAndroid Build Coastguard Worker// CHECK: ljmpl $31438, $31438 669*9880d681SAndroid Build Coastguard Worker 670*9880d681SAndroid Build Coastguard Workercall $0x7ace,$0x7ace 671*9880d681SAndroid Build Coastguard Workerlcall $0x7ace,$0x7ace 672*9880d681SAndroid Build Coastguard Workerjmp $0x7ace,$0x7ace 673*9880d681SAndroid Build Coastguard Workerljmp $0x7ace,$0x7ace 674*9880d681SAndroid Build Coastguard Worker 675*9880d681SAndroid Build Coastguard Worker// rdar://8456370 676*9880d681SAndroid Build Coastguard Worker// CHECK: calll a 677*9880d681SAndroid Build Coastguard Worker calll a 678*9880d681SAndroid Build Coastguard Worker 679*9880d681SAndroid Build Coastguard Worker// CHECK: incb %al # encoding: [0xfe,0xc0] 680*9880d681SAndroid Build Coastguard Worker incb %al 681*9880d681SAndroid Build Coastguard Worker 682*9880d681SAndroid Build Coastguard Worker// CHECK: incw %ax # encoding: [0x66,0x40] 683*9880d681SAndroid Build Coastguard Worker incw %ax 684*9880d681SAndroid Build Coastguard Worker 685*9880d681SAndroid Build Coastguard Worker// CHECK: incl %eax # encoding: [0x40] 686*9880d681SAndroid Build Coastguard Worker incl %eax 687*9880d681SAndroid Build Coastguard Worker 688*9880d681SAndroid Build Coastguard Worker// CHECK: decb %al # encoding: [0xfe,0xc8] 689*9880d681SAndroid Build Coastguard Worker decb %al 690*9880d681SAndroid Build Coastguard Worker 691*9880d681SAndroid Build Coastguard Worker// CHECK: decw %ax # encoding: [0x66,0x48] 692*9880d681SAndroid Build Coastguard Worker decw %ax 693*9880d681SAndroid Build Coastguard Worker 694*9880d681SAndroid Build Coastguard Worker// CHECK: decl %eax # encoding: [0x48] 695*9880d681SAndroid Build Coastguard Worker decl %eax 696*9880d681SAndroid Build Coastguard Worker 697*9880d681SAndroid Build Coastguard Worker// CHECK: pshufw $14, %mm4, %mm0 # encoding: [0x0f,0x70,0xc4,0x0e] 698*9880d681SAndroid Build Coastguard Workerpshufw $14, %mm4, %mm0 699*9880d681SAndroid Build Coastguard Worker 700*9880d681SAndroid Build Coastguard Worker// CHECK: pshufw $90, %mm4, %mm0 # encoding: [0x0f,0x70,0xc4,0x5a] 701*9880d681SAndroid Build Coastguard Worker// PR8288 702*9880d681SAndroid Build Coastguard Workerpshufw $90, %mm4, %mm0 703*9880d681SAndroid Build Coastguard Worker 704*9880d681SAndroid Build Coastguard Worker// rdar://8416805 705*9880d681SAndroid Build Coastguard Worker// CHECK: aaa 706*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x37] 707*9880d681SAndroid Build Coastguard Worker aaa 708*9880d681SAndroid Build Coastguard Worker 709*9880d681SAndroid Build Coastguard Worker// CHECK: aad $1 710*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xd5,0x01] 711*9880d681SAndroid Build Coastguard Worker aad $1 712*9880d681SAndroid Build Coastguard Worker 713*9880d681SAndroid Build Coastguard Worker// CHECK: aad 714*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xd5,0x0a] 715*9880d681SAndroid Build Coastguard Worker aad $0xA 716*9880d681SAndroid Build Coastguard Worker 717*9880d681SAndroid Build Coastguard Worker// CHECK: aad 718*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xd5,0x0a] 719*9880d681SAndroid Build Coastguard Worker aad 720*9880d681SAndroid Build Coastguard Worker 721*9880d681SAndroid Build Coastguard Worker// CHECK: aam $2 722*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xd4,0x02] 723*9880d681SAndroid Build Coastguard Worker aam $2 724*9880d681SAndroid Build Coastguard Worker 725*9880d681SAndroid Build Coastguard Worker// CHECK: aam 726*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xd4,0x0a] 727*9880d681SAndroid Build Coastguard Worker aam $0xA 728*9880d681SAndroid Build Coastguard Worker 729*9880d681SAndroid Build Coastguard Worker// CHECK: aam 730*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xd4,0x0a] 731*9880d681SAndroid Build Coastguard Worker aam 732*9880d681SAndroid Build Coastguard Worker 733*9880d681SAndroid Build Coastguard Worker// CHECK: aas 734*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x3f] 735*9880d681SAndroid Build Coastguard Worker aas 736*9880d681SAndroid Build Coastguard Worker 737*9880d681SAndroid Build Coastguard Worker// CHECK: daa 738*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x27] 739*9880d681SAndroid Build Coastguard Worker daa 740*9880d681SAndroid Build Coastguard Worker 741*9880d681SAndroid Build Coastguard Worker// CHECK: das 742*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x2f] 743*9880d681SAndroid Build Coastguard Worker das 744*9880d681SAndroid Build Coastguard Worker 745*9880d681SAndroid Build Coastguard Worker// CHECK: retw $31438 746*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x66,0xc2,0xce,0x7a] 747*9880d681SAndroid Build Coastguard Worker retw $0x7ace 748*9880d681SAndroid Build Coastguard Worker 749*9880d681SAndroid Build Coastguard Worker// CHECK: lretw $31438 750*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x66,0xca,0xce,0x7a] 751*9880d681SAndroid Build Coastguard Worker lretw $0x7ace 752*9880d681SAndroid Build Coastguard Worker 753*9880d681SAndroid Build Coastguard Worker// CHECK: bound 2(%eax), %bx 754*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x66,0x62,0x58,0x02] 755*9880d681SAndroid Build Coastguard Worker bound 2(%eax),%bx 756*9880d681SAndroid Build Coastguard Worker 757*9880d681SAndroid Build Coastguard Worker// CHECK: bound 4(%ebx), %ecx 758*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x62,0x4b,0x04] 759*9880d681SAndroid Build Coastguard Worker bound 4(%ebx),%ecx 760*9880d681SAndroid Build Coastguard Worker 761*9880d681SAndroid Build Coastguard Worker// CHECK: arpl %bx, %bx 762*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x63,0xdb] 763*9880d681SAndroid Build Coastguard Worker arpl %bx,%bx 764*9880d681SAndroid Build Coastguard Worker 765*9880d681SAndroid Build Coastguard Worker// CHECK: arpl %bx, 6(%ecx) 766*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x63,0x59,0x06] 767*9880d681SAndroid Build Coastguard Worker arpl %bx,6(%ecx) 768*9880d681SAndroid Build Coastguard Worker 769*9880d681SAndroid Build Coastguard Worker// CHECK: lgdtw 4(%eax) 770*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x66,0x0f,0x01,0x50,0x04] 771*9880d681SAndroid Build Coastguard Worker lgdtw 4(%eax) 772*9880d681SAndroid Build Coastguard Worker 773*9880d681SAndroid Build Coastguard Worker// CHECK: lgdtl 4(%eax) 774*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x01,0x50,0x04] 775*9880d681SAndroid Build Coastguard Worker lgdt 4(%eax) 776*9880d681SAndroid Build Coastguard Worker 777*9880d681SAndroid Build Coastguard Worker// CHECK: lgdtl 4(%eax) 778*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x01,0x50,0x04] 779*9880d681SAndroid Build Coastguard Worker lgdtl 4(%eax) 780*9880d681SAndroid Build Coastguard Worker 781*9880d681SAndroid Build Coastguard Worker// CHECK: lidtw 4(%eax) 782*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x66,0x0f,0x01,0x58,0x04] 783*9880d681SAndroid Build Coastguard Worker lidtw 4(%eax) 784*9880d681SAndroid Build Coastguard Worker 785*9880d681SAndroid Build Coastguard Worker// CHECK: lidtl 4(%eax) 786*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x01,0x58,0x04] 787*9880d681SAndroid Build Coastguard Worker lidt 4(%eax) 788*9880d681SAndroid Build Coastguard Worker 789*9880d681SAndroid Build Coastguard Worker// CHECK: lidtl 4(%eax) 790*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x01,0x58,0x04] 791*9880d681SAndroid Build Coastguard Worker lidtl 4(%eax) 792*9880d681SAndroid Build Coastguard Worker 793*9880d681SAndroid Build Coastguard Worker// CHECK: sgdtw 4(%eax) 794*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x66,0x0f,0x01,0x40,0x04] 795*9880d681SAndroid Build Coastguard Worker sgdtw 4(%eax) 796*9880d681SAndroid Build Coastguard Worker 797*9880d681SAndroid Build Coastguard Worker// CHECK: sgdtl 4(%eax) 798*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x01,0x40,0x04] 799*9880d681SAndroid Build Coastguard Worker sgdt 4(%eax) 800*9880d681SAndroid Build Coastguard Worker 801*9880d681SAndroid Build Coastguard Worker// CHECK: sgdtl 4(%eax) 802*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x01,0x40,0x04] 803*9880d681SAndroid Build Coastguard Worker sgdtl 4(%eax) 804*9880d681SAndroid Build Coastguard Worker 805*9880d681SAndroid Build Coastguard Worker// CHECK: sidtw 4(%eax) 806*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x66,0x0f,0x01,0x48,0x04] 807*9880d681SAndroid Build Coastguard Worker sidtw 4(%eax) 808*9880d681SAndroid Build Coastguard Worker 809*9880d681SAndroid Build Coastguard Worker// CHECK: sidtl 4(%eax) 810*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x01,0x48,0x04] 811*9880d681SAndroid Build Coastguard Worker sidt 4(%eax) 812*9880d681SAndroid Build Coastguard Worker 813*9880d681SAndroid Build Coastguard Worker// CHECK: sidtl 4(%eax) 814*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x01,0x48,0x04] 815*9880d681SAndroid Build Coastguard Worker sidtl 4(%eax) 816*9880d681SAndroid Build Coastguard Worker 817*9880d681SAndroid Build Coastguard Worker// CHECK: fcompi %st(2) 818*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xdf,0xf2] 819*9880d681SAndroid Build Coastguard Worker fcompi %st(2), %st 820*9880d681SAndroid Build Coastguard Worker 821*9880d681SAndroid Build Coastguard Worker// CHECK: fcompi %st(2) 822*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xdf,0xf2] 823*9880d681SAndroid Build Coastguard Worker fcompi %st(2) 824*9880d681SAndroid Build Coastguard Worker 825*9880d681SAndroid Build Coastguard Worker// CHECK: fcompi 826*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xdf,0xf1] 827*9880d681SAndroid Build Coastguard Worker fcompi 828*9880d681SAndroid Build Coastguard Worker 829*9880d681SAndroid Build Coastguard Worker// CHECK: fucompi %st(2) 830*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xdf,0xea] 831*9880d681SAndroid Build Coastguard Worker fucompi %st(2),%st 832*9880d681SAndroid Build Coastguard Worker 833*9880d681SAndroid Build Coastguard Worker// CHECK: fucompi %st(2) 834*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xdf,0xea] 835*9880d681SAndroid Build Coastguard Worker fucompi %st(2) 836*9880d681SAndroid Build Coastguard Worker 837*9880d681SAndroid Build Coastguard Worker// CHECK: fucompi 838*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xdf,0xe9] 839*9880d681SAndroid Build Coastguard Worker fucompi 840*9880d681SAndroid Build Coastguard Worker 841*9880d681SAndroid Build Coastguard Worker// CHECK: fldcw 32493 842*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xd9,0x2d,0xed,0x7e,0x00,0x00] 843*9880d681SAndroid Build Coastguard Worker fldcww 0x7eed 844*9880d681SAndroid Build Coastguard Worker 845*9880d681SAndroid Build Coastguard Worker// CHECK: fldcw 32493 846*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xd9,0x2d,0xed,0x7e,0x00,0x00] 847*9880d681SAndroid Build Coastguard Worker fldcw 0x7eed 848*9880d681SAndroid Build Coastguard Worker 849*9880d681SAndroid Build Coastguard Worker// CHECK: fnstcw 32493 850*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xd9,0x3d,0xed,0x7e,0x00,0x00] 851*9880d681SAndroid Build Coastguard Worker fnstcww 0x7eed 852*9880d681SAndroid Build Coastguard Worker 853*9880d681SAndroid Build Coastguard Worker// CHECK: fnstcw 32493 854*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xd9,0x3d,0xed,0x7e,0x00,0x00] 855*9880d681SAndroid Build Coastguard Worker fnstcw 0x7eed 856*9880d681SAndroid Build Coastguard Worker 857*9880d681SAndroid Build Coastguard Worker// CHECK: wait 858*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x9b] 859*9880d681SAndroid Build Coastguard Worker fstcww 0x7eed 860*9880d681SAndroid Build Coastguard Worker 861*9880d681SAndroid Build Coastguard Worker// CHECK: wait 862*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x9b] 863*9880d681SAndroid Build Coastguard Worker fstcw 0x7eed 864*9880d681SAndroid Build Coastguard Worker 865*9880d681SAndroid Build Coastguard Worker// CHECK: fnstsw 32493 866*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xdd,0x3d,0xed,0x7e,0x00,0x00] 867*9880d681SAndroid Build Coastguard Worker fnstsww 0x7eed 868*9880d681SAndroid Build Coastguard Worker 869*9880d681SAndroid Build Coastguard Worker// CHECK: fnstsw 32493 870*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xdd,0x3d,0xed,0x7e,0x00,0x00] 871*9880d681SAndroid Build Coastguard Worker fnstsw 0x7eed 872*9880d681SAndroid Build Coastguard Worker 873*9880d681SAndroid Build Coastguard Worker// CHECK: wait 874*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x9b] 875*9880d681SAndroid Build Coastguard Worker fstsww 0x7eed 876*9880d681SAndroid Build Coastguard Worker 877*9880d681SAndroid Build Coastguard Worker// CHECK: wait 878*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x9b] 879*9880d681SAndroid Build Coastguard Worker fstsw 0x7eed 880*9880d681SAndroid Build Coastguard Worker 881*9880d681SAndroid Build Coastguard Worker// CHECK: verr 32493 882*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x00,0x25,0xed,0x7e,0x00,0x00] 883*9880d681SAndroid Build Coastguard Worker verrw 0x7eed 884*9880d681SAndroid Build Coastguard Worker 885*9880d681SAndroid Build Coastguard Worker// CHECK: verr 32493 886*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x00,0x25,0xed,0x7e,0x00,0x00] 887*9880d681SAndroid Build Coastguard Worker verr 0x7eed 888*9880d681SAndroid Build Coastguard Worker 889*9880d681SAndroid Build Coastguard Worker// CHECK: wait 890*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x9b] 891*9880d681SAndroid Build Coastguard Worker fclex 892*9880d681SAndroid Build Coastguard Worker 893*9880d681SAndroid Build Coastguard Worker// CHECK: fnclex 894*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xdb,0xe2] 895*9880d681SAndroid Build Coastguard Worker fnclex 896*9880d681SAndroid Build Coastguard Worker 897*9880d681SAndroid Build Coastguard Worker// CHECK: ud2 898*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x0b] 899*9880d681SAndroid Build Coastguard Worker ud2 900*9880d681SAndroid Build Coastguard Worker 901*9880d681SAndroid Build Coastguard Worker// CHECK: ud2 902*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x0b] 903*9880d681SAndroid Build Coastguard Worker ud2a 904*9880d681SAndroid Build Coastguard Worker 905*9880d681SAndroid Build Coastguard Worker// CHECK: ud2b 906*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0xb9] 907*9880d681SAndroid Build Coastguard Worker ud2b 908*9880d681SAndroid Build Coastguard Worker 909*9880d681SAndroid Build Coastguard Worker// CHECK: loope 0 910*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xe1,A] 911*9880d681SAndroid Build Coastguard Worker loopz 0 912*9880d681SAndroid Build Coastguard Worker 913*9880d681SAndroid Build Coastguard Worker// CHECK: loopne 0 914*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xe0,A] 915*9880d681SAndroid Build Coastguard Worker loopnz 0 916*9880d681SAndroid Build Coastguard Worker 917*9880d681SAndroid Build Coastguard Worker// CHECK: outsb (%esi), %dx # encoding: [0x6e] 918*9880d681SAndroid Build Coastguard Worker// CHECK: outsb 919*9880d681SAndroid Build Coastguard Worker// CHECK: outsb 920*9880d681SAndroid Build Coastguard Worker outsb 921*9880d681SAndroid Build Coastguard Worker outsb %ds:(%esi), %dx 922*9880d681SAndroid Build Coastguard Worker outsb (%esi), %dx 923*9880d681SAndroid Build Coastguard Worker 924*9880d681SAndroid Build Coastguard Worker// CHECK: outsw (%esi), %dx # encoding: [0x66,0x6f] 925*9880d681SAndroid Build Coastguard Worker// CHECK: outsw 926*9880d681SAndroid Build Coastguard Worker// CHECK: outsw 927*9880d681SAndroid Build Coastguard Worker outsw 928*9880d681SAndroid Build Coastguard Worker outsw %ds:(%esi), %dx 929*9880d681SAndroid Build Coastguard Worker outsw (%esi), %dx 930*9880d681SAndroid Build Coastguard Worker 931*9880d681SAndroid Build Coastguard Worker// CHECK: outsl (%esi), %dx # encoding: [0x6f] 932*9880d681SAndroid Build Coastguard Worker// CHECK: outsl 933*9880d681SAndroid Build Coastguard Worker outsl 934*9880d681SAndroid Build Coastguard Worker outsl %ds:(%esi), %dx 935*9880d681SAndroid Build Coastguard Worker outsl (%esi), %dx 936*9880d681SAndroid Build Coastguard Worker 937*9880d681SAndroid Build Coastguard Worker// CHECK: insb %dx, %es:(%edi) # encoding: [0x6c] 938*9880d681SAndroid Build Coastguard Worker// CHECK: insb 939*9880d681SAndroid Build Coastguard Worker insb 940*9880d681SAndroid Build Coastguard Worker insb %dx, %es:(%edi) 941*9880d681SAndroid Build Coastguard Worker 942*9880d681SAndroid Build Coastguard Worker// CHECK: insw %dx, %es:(%edi) # encoding: [0x66,0x6d] 943*9880d681SAndroid Build Coastguard Worker// CHECK: insw 944*9880d681SAndroid Build Coastguard Worker insw 945*9880d681SAndroid Build Coastguard Worker insw %dx, %es:(%edi) 946*9880d681SAndroid Build Coastguard Worker 947*9880d681SAndroid Build Coastguard Worker// CHECK: insl %dx, %es:(%edi) # encoding: [0x6d] 948*9880d681SAndroid Build Coastguard Worker// CHECK: insl 949*9880d681SAndroid Build Coastguard Worker insl 950*9880d681SAndroid Build Coastguard Worker insl %dx, %es:(%edi) 951*9880d681SAndroid Build Coastguard Worker 952*9880d681SAndroid Build Coastguard Worker// CHECK: movsb (%esi), %es:(%edi) # encoding: [0xa4] 953*9880d681SAndroid Build Coastguard Worker// CHECK: movsb 954*9880d681SAndroid Build Coastguard Worker// CHECK: movsb 955*9880d681SAndroid Build Coastguard Worker movsb 956*9880d681SAndroid Build Coastguard Worker movsb %ds:(%esi), %es:(%edi) 957*9880d681SAndroid Build Coastguard Worker movsb (%esi), %es:(%edi) 958*9880d681SAndroid Build Coastguard Worker 959*9880d681SAndroid Build Coastguard Worker// CHECK: movsw (%esi), %es:(%edi) # encoding: [0x66,0xa5] 960*9880d681SAndroid Build Coastguard Worker// CHECK: movsw 961*9880d681SAndroid Build Coastguard Worker// CHECK: movsw 962*9880d681SAndroid Build Coastguard Worker movsw 963*9880d681SAndroid Build Coastguard Worker movsw %ds:(%esi), %es:(%edi) 964*9880d681SAndroid Build Coastguard Worker movsw (%esi), %es:(%edi) 965*9880d681SAndroid Build Coastguard Worker 966*9880d681SAndroid Build Coastguard Worker// CHECK: movsl (%esi), %es:(%edi) # encoding: [0xa5] 967*9880d681SAndroid Build Coastguard Worker// CHECK: movsl 968*9880d681SAndroid Build Coastguard Worker// CHECK: movsl 969*9880d681SAndroid Build Coastguard Worker movsl 970*9880d681SAndroid Build Coastguard Worker movsl %ds:(%esi), %es:(%edi) 971*9880d681SAndroid Build Coastguard Worker movsl (%esi), %es:(%edi) 972*9880d681SAndroid Build Coastguard Worker 973*9880d681SAndroid Build Coastguard Worker// CHECK: lodsb (%esi), %al # encoding: [0xac] 974*9880d681SAndroid Build Coastguard Worker// CHECK: lodsb 975*9880d681SAndroid Build Coastguard Worker// CHECK: lodsb 976*9880d681SAndroid Build Coastguard Worker// CHECK: lodsb 977*9880d681SAndroid Build Coastguard Worker// CHECK: lodsb 978*9880d681SAndroid Build Coastguard Worker lodsb 979*9880d681SAndroid Build Coastguard Worker lodsb %ds:(%esi), %al 980*9880d681SAndroid Build Coastguard Worker lodsb (%esi), %al 981*9880d681SAndroid Build Coastguard Worker lods %ds:(%esi), %al 982*9880d681SAndroid Build Coastguard Worker lods (%esi), %al 983*9880d681SAndroid Build Coastguard Worker 984*9880d681SAndroid Build Coastguard Worker// CHECK: lodsw (%esi), %ax # encoding: [0x66,0xad] 985*9880d681SAndroid Build Coastguard Worker// CHECK: lodsw 986*9880d681SAndroid Build Coastguard Worker// CHECK: lodsw 987*9880d681SAndroid Build Coastguard Worker// CHECK: lodsw 988*9880d681SAndroid Build Coastguard Worker// CHECK: lodsw 989*9880d681SAndroid Build Coastguard Worker lodsw 990*9880d681SAndroid Build Coastguard Worker lodsw %ds:(%esi), %ax 991*9880d681SAndroid Build Coastguard Worker lodsw (%esi), %ax 992*9880d681SAndroid Build Coastguard Worker lods %ds:(%esi), %ax 993*9880d681SAndroid Build Coastguard Worker lods (%esi), %ax 994*9880d681SAndroid Build Coastguard Worker 995*9880d681SAndroid Build Coastguard Worker// CHECK: lodsl (%esi), %eax # encoding: [0xad] 996*9880d681SAndroid Build Coastguard Worker// CHECK: lodsl 997*9880d681SAndroid Build Coastguard Worker// CHECK: lodsl 998*9880d681SAndroid Build Coastguard Worker// CHECK: lodsl 999*9880d681SAndroid Build Coastguard Worker// CHECK: lodsl 1000*9880d681SAndroid Build Coastguard Worker lodsl 1001*9880d681SAndroid Build Coastguard Worker lodsl %ds:(%esi), %eax 1002*9880d681SAndroid Build Coastguard Worker lodsl (%esi), %eax 1003*9880d681SAndroid Build Coastguard Worker lods %ds:(%esi), %eax 1004*9880d681SAndroid Build Coastguard Worker lods (%esi), %eax 1005*9880d681SAndroid Build Coastguard Worker 1006*9880d681SAndroid Build Coastguard Worker// CHECK: stosb %al, %es:(%edi) # encoding: [0xaa] 1007*9880d681SAndroid Build Coastguard Worker// CHECK: stosb 1008*9880d681SAndroid Build Coastguard Worker// CHECK: stosb 1009*9880d681SAndroid Build Coastguard Worker stosb 1010*9880d681SAndroid Build Coastguard Worker stosb %al, %es:(%edi) 1011*9880d681SAndroid Build Coastguard Worker stos %al, %es:(%edi) 1012*9880d681SAndroid Build Coastguard Worker 1013*9880d681SAndroid Build Coastguard Worker// CHECK: stosw %ax, %es:(%edi) # encoding: [0x66,0xab] 1014*9880d681SAndroid Build Coastguard Worker// CHECK: stosw 1015*9880d681SAndroid Build Coastguard Worker// CHECK: stosw 1016*9880d681SAndroid Build Coastguard Worker stosw 1017*9880d681SAndroid Build Coastguard Worker stosw %ax, %es:(%edi) 1018*9880d681SAndroid Build Coastguard Worker stos %ax, %es:(%edi) 1019*9880d681SAndroid Build Coastguard Worker 1020*9880d681SAndroid Build Coastguard Worker// CHECK: stosl %eax, %es:(%edi) # encoding: [0xab] 1021*9880d681SAndroid Build Coastguard Worker// CHECK: stosl 1022*9880d681SAndroid Build Coastguard Worker// CHECK: stosl 1023*9880d681SAndroid Build Coastguard Worker stosl 1024*9880d681SAndroid Build Coastguard Worker stosl %eax, %es:(%edi) 1025*9880d681SAndroid Build Coastguard Worker stos %eax, %es:(%edi) 1026*9880d681SAndroid Build Coastguard Worker 1027*9880d681SAndroid Build Coastguard Worker// CHECK: strw 1028*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x66,0x0f,0x00,0xc8] 1029*9880d681SAndroid Build Coastguard Worker str %ax 1030*9880d681SAndroid Build Coastguard Worker 1031*9880d681SAndroid Build Coastguard Worker// CHECK: strl 1032*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x0f,0x00,0xc8] 1033*9880d681SAndroid Build Coastguard Worker str %eax 1034*9880d681SAndroid Build Coastguard Worker 1035*9880d681SAndroid Build Coastguard Worker 1036*9880d681SAndroid Build Coastguard Worker// PR9378 1037*9880d681SAndroid Build Coastguard Worker// CHECK: fsubp 1038*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xde,0xe1] 1039*9880d681SAndroid Build Coastguard Workerfsubp %st,%st(1) 1040*9880d681SAndroid Build Coastguard Worker 1041*9880d681SAndroid Build Coastguard Worker// PR9164 1042*9880d681SAndroid Build Coastguard Worker// CHECK: fsubp %st(2) 1043*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xde,0xe2] 1044*9880d681SAndroid Build Coastguard Workerfsubp %st, %st(2) 1045*9880d681SAndroid Build Coastguard Worker 1046*9880d681SAndroid Build Coastguard Worker// PR10345 1047*9880d681SAndroid Build Coastguard Worker// CHECK: xchgl %eax, %eax 1048*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x90] 1049*9880d681SAndroid Build Coastguard Workerxchgl %eax, %eax 1050*9880d681SAndroid Build Coastguard Worker 1051*9880d681SAndroid Build Coastguard Worker// CHECK: xchgw %ax, %ax 1052*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x66,0x90] 1053*9880d681SAndroid Build Coastguard Workerxchgw %ax, %ax 1054*9880d681SAndroid Build Coastguard Worker 1055*9880d681SAndroid Build Coastguard Worker// CHECK: xchgl %ecx, %eax 1056*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x91] 1057*9880d681SAndroid Build Coastguard Workerxchgl %ecx, %eax 1058*9880d681SAndroid Build Coastguard Worker 1059*9880d681SAndroid Build Coastguard Worker// CHECK: xchgl %ecx, %eax 1060*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x91] 1061*9880d681SAndroid Build Coastguard Workerxchgl %eax, %ecx 1062*9880d681SAndroid Build Coastguard Worker 1063*9880d681SAndroid Build Coastguard Worker// CHECK: retw 1064*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x66,0xc3] 1065*9880d681SAndroid Build Coastguard Workerretw 1066*9880d681SAndroid Build Coastguard Worker 1067*9880d681SAndroid Build Coastguard Worker// CHECK: lretw 1068*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x66,0xcb] 1069*9880d681SAndroid Build Coastguard Workerlretw 1070