1f068304b1f9205b49aa4bef75e669f750906b84fChris Lattner// RUN: llvm-mc -triple i386-unknown-unknown --show-encoding %s | FileCheck %s 2c4d3f662fc2e907ea2c76aca8ec1971e43f89c98Chris Lattner 314aaeac5cf8dd96859c4e74423f17a3da1c094c4Dan Gohman pause 414aaeac5cf8dd96859c4e74423f17a3da1c094c4Dan Gohman// CHECK: pause 514aaeac5cf8dd96859c4e74423f17a3da1c094c4Dan Gohman// CHECK: encoding: [0xf3,0x90] 6ee5673b622de7684c20b265f15a7563c573f452aDan Gohman sfence 7ee5673b622de7684c20b265f15a7563c573f452aDan Gohman// CHECK: sfence 8ee5673b622de7684c20b265f15a7563c573f452aDan Gohman// CHECK: encoding: [0x0f,0xae,0xf8] 9c4d3f662fc2e907ea2c76aca8ec1971e43f89c98Chris Lattner lfence 10c4d3f662fc2e907ea2c76aca8ec1971e43f89c98Chris Lattner// CHECK: lfence 11c4d3f662fc2e907ea2c76aca8ec1971e43f89c98Chris Lattner// CHECK: encoding: [0x0f,0xae,0xe8] 12c4d3f662fc2e907ea2c76aca8ec1971e43f89c98Chris Lattner mfence 13c4d3f662fc2e907ea2c76aca8ec1971e43f89c98Chris Lattner// CHECK: mfence 14c4d3f662fc2e907ea2c76aca8ec1971e43f89c98Chris Lattner// CHECK: encoding: [0x0f,0xae,0xf0] 15c4d3f662fc2e907ea2c76aca8ec1971e43f89c98Chris Lattner monitor 16c4d3f662fc2e907ea2c76aca8ec1971e43f89c98Chris Lattner// CHECK: monitor 17c4d3f662fc2e907ea2c76aca8ec1971e43f89c98Chris Lattner// CHECK: encoding: [0x0f,0x01,0xc8] 185ad596f9d27a67767118857471e63b55bfb152d6Joerg Sonnenberger monitor %eax, %ecx, %edx 195ad596f9d27a67767118857471e63b55bfb152d6Joerg Sonnenberger// CHECK: monitor 205ad596f9d27a67767118857471e63b55bfb152d6Joerg Sonnenberger// CHECK: encoding: [0x0f,0x01,0xc8] 21c4d3f662fc2e907ea2c76aca8ec1971e43f89c98Chris Lattner mwait 22c4d3f662fc2e907ea2c76aca8ec1971e43f89c98Chris Lattner// CHECK: mwait 23a599de241041eebc84867ac8e4cb76668cabd236Chris Lattner// CHECK: encoding: [0x0f,0x01,0xc9] 245ad596f9d27a67767118857471e63b55bfb152d6Joerg Sonnenberger mwait %eax, %ecx 255ad596f9d27a67767118857471e63b55bfb152d6Joerg Sonnenberger// CHECK: mwait 265ad596f9d27a67767118857471e63b55bfb152d6Joerg Sonnenberger// CHECK: encoding: [0x0f,0x01,0xc9] 27a599de241041eebc84867ac8e4cb76668cabd236Chris Lattner 28a599de241041eebc84867ac8e4cb76668cabd236Chris Lattner vmcall 29a599de241041eebc84867ac8e4cb76668cabd236Chris Lattner// CHECK: vmcall 30a599de241041eebc84867ac8e4cb76668cabd236Chris Lattner// CHECK: encoding: [0x0f,0x01,0xc1] 3128a713b20ad17f9a02d4677d8a2fea0edb208418Craig Topper vmfunc 3228a713b20ad17f9a02d4677d8a2fea0edb208418Craig Topper// CHECK: vmfunc 3328a713b20ad17f9a02d4677d8a2fea0edb208418Craig Topper// CHECK: encoding: [0x0f,0x01,0xd4] 34a599de241041eebc84867ac8e4cb76668cabd236Chris Lattner vmlaunch 35a599de241041eebc84867ac8e4cb76668cabd236Chris Lattner// CHECK: vmlaunch 36a599de241041eebc84867ac8e4cb76668cabd236Chris Lattner// CHECK: encoding: [0x0f,0x01,0xc2] 37a599de241041eebc84867ac8e4cb76668cabd236Chris Lattner vmresume 38a599de241041eebc84867ac8e4cb76668cabd236Chris Lattner// CHECK: vmresume 39a599de241041eebc84867ac8e4cb76668cabd236Chris Lattner// CHECK: encoding: [0x0f,0x01,0xc3] 40a599de241041eebc84867ac8e4cb76668cabd236Chris Lattner vmxoff 41a599de241041eebc84867ac8e4cb76668cabd236Chris Lattner// CHECK: vmxoff 42a599de241041eebc84867ac8e4cb76668cabd236Chris Lattner// CHECK: encoding: [0x0f,0x01,0xc4] 43a599de241041eebc84867ac8e4cb76668cabd236Chris Lattner swapgs 44a599de241041eebc84867ac8e4cb76668cabd236Chris Lattner// CHECK: swapgs 45a599de241041eebc84867ac8e4cb76668cabd236Chris Lattner// CHECK: encoding: [0x0f,0x01,0xf8] 46e9a60eb4987a096df10de0442af1e2929bc32547Daniel Dunbar 479e3d0b335111b2df73984a6cfd9ef1cd5d323872Craig Topper vmrun %eax 489e3d0b335111b2df73984a6cfd9ef1cd5d323872Craig Topper// CHECK: vmrun %eax 499e3d0b335111b2df73984a6cfd9ef1cd5d323872Craig Topper// CHECK: encoding: [0x0f,0x01,0xd8] 509e3d0b335111b2df73984a6cfd9ef1cd5d323872Craig Topper vmmcall 519e3d0b335111b2df73984a6cfd9ef1cd5d323872Craig Topper// CHECK: vmmcall 529e3d0b335111b2df73984a6cfd9ef1cd5d323872Craig Topper// CHECK: encoding: [0x0f,0x01,0xd9] 539e3d0b335111b2df73984a6cfd9ef1cd5d323872Craig Topper vmload %eax 549e3d0b335111b2df73984a6cfd9ef1cd5d323872Craig Topper// CHECK: vmload %eax 559e3d0b335111b2df73984a6cfd9ef1cd5d323872Craig Topper// CHECK: encoding: [0x0f,0x01,0xda] 569e3d0b335111b2df73984a6cfd9ef1cd5d323872Craig Topper vmsave %eax 579e3d0b335111b2df73984a6cfd9ef1cd5d323872Craig Topper// CHECK: vmsave %eax 589e3d0b335111b2df73984a6cfd9ef1cd5d323872Craig Topper// CHECK: encoding: [0x0f,0x01,0xdb] 599e3d0b335111b2df73984a6cfd9ef1cd5d323872Craig Topper stgi 609e3d0b335111b2df73984a6cfd9ef1cd5d323872Craig Topper// CHECK: stgi 619e3d0b335111b2df73984a6cfd9ef1cd5d323872Craig Topper// CHECK: encoding: [0x0f,0x01,0xdc] 629e3d0b335111b2df73984a6cfd9ef1cd5d323872Craig Topper clgi 639e3d0b335111b2df73984a6cfd9ef1cd5d323872Craig Topper// CHECK: clgi 649e3d0b335111b2df73984a6cfd9ef1cd5d323872Craig Topper// CHECK: encoding: [0x0f,0x01,0xdd] 659e3d0b335111b2df73984a6cfd9ef1cd5d323872Craig Topper skinit %eax 669e3d0b335111b2df73984a6cfd9ef1cd5d323872Craig Topper// CHECK: skinit %eax 679e3d0b335111b2df73984a6cfd9ef1cd5d323872Craig Topper// CHECK: encoding: [0x0f,0x01,0xde] 689e3d0b335111b2df73984a6cfd9ef1cd5d323872Craig Topper invlpga %ecx, %eax 699e3d0b335111b2df73984a6cfd9ef1cd5d323872Craig Topper// CHECK: invlpga %ecx, %eax 709e3d0b335111b2df73984a6cfd9ef1cd5d323872Craig Topper// CHECK: encoding: [0x0f,0x01,0xdf] 719e3d0b335111b2df73984a6cfd9ef1cd5d323872Craig Topper 729e3d0b335111b2df73984a6cfd9ef1cd5d323872Craig Topper rdtscp 73b779033a23c49c2e5e02b15a87bbae42973287b3Chris Lattner// CHECK: rdtscp 74b779033a23c49c2e5e02b15a87bbae42973287b3Chris Lattner// CHECK: encoding: [0x0f,0x01,0xf9] 75b779033a23c49c2e5e02b15a87bbae42973287b3Chris Lattner 76b779033a23c49c2e5e02b15a87bbae42973287b3Chris Lattner 77e9a60eb4987a096df10de0442af1e2929bc32547Daniel Dunbar// CHECK: movl %eax, 16(%ebp) # encoding: [0x89,0x45,0x10] 78e9a60eb4987a096df10de0442af1e2929bc32547Daniel Dunbar movl %eax, 16(%ebp) 79e9a60eb4987a096df10de0442af1e2929bc32547Daniel Dunbar// CHECK: movl %eax, -16(%ebp) # encoding: [0x89,0x45,0xf0] 80e9a60eb4987a096df10de0442af1e2929bc32547Daniel Dunbar movl %eax, -16(%ebp) 81b93c72cda456c96224d25e1df11112bd9b69cf69Daniel Dunbar 820c7f116bb6950ef819323d855415b2f2b0aad987Pirama Arumuga Nainar// CHECK: testb %bl, %cl # encoding: [0x84,0xd9] 83b93c72cda456c96224d25e1df11112bd9b69cf69Daniel Dunbar testb %bl, %cl 841e8ee89c213704c398d8a7ea2567a30b0f75eb5fDaniel Dunbar 851e8ee89c213704c398d8a7ea2567a30b0f75eb5fDaniel Dunbar// CHECK: cmpl %eax, %ebx # encoding: [0x39,0xc3] 861e8ee89c213704c398d8a7ea2567a30b0f75eb5fDaniel Dunbar cmpl %eax, %ebx 87f291be3159530fdca2fd5e726ec2bd3100f38e55Daniel Dunbar 88f291be3159530fdca2fd5e726ec2bd3100f38e55Daniel Dunbar// CHECK: addw %ax, %ax # encoding: [0x66,0x01,0xc0] 89f291be3159530fdca2fd5e726ec2bd3100f38e55Daniel Dunbar addw %ax, %ax 90d5e7705a05947e60806b795880f09757e835f590Daniel Dunbar 91d5e7705a05947e60806b795880f09757e835f590Daniel Dunbar// CHECK: shrl %eax # encoding: [0xd1,0xe8] 92d5e7705a05947e60806b795880f09757e835f590Daniel Dunbar shrl $1, %eax 932745f6e920dd8b562ded008e3e34acc873c5a36fChris Lattner 941a1ecc9f3c2684249bd765d1299302d629aaf4feChris Lattner// CHECK: shll %eax # encoding: [0xd1,0xe0] 951a1ecc9f3c2684249bd765d1299302d629aaf4feChris Lattner sall $1, %eax 961a1ecc9f3c2684249bd765d1299302d629aaf4feChris Lattner// CHECK: shll %eax # encoding: [0xd1,0xe0] 971a1ecc9f3c2684249bd765d1299302d629aaf4feChris Lattner sal $1, %eax 981a1ecc9f3c2684249bd765d1299302d629aaf4feChris Lattner 992745f6e920dd8b562ded008e3e34acc873c5a36fChris Lattner// moffset forms of moves, rdar://7947184 100b80d571ea85db5d52fafed0523cf59e693502198Kevin Enderbymovb 0, %al // CHECK: movb 0, %al # encoding: [0xa0,0x00,0x00,0x00,0x00] 101b80d571ea85db5d52fafed0523cf59e693502198Kevin Enderbymovw 0, %ax // CHECK: movw 0, %ax # encoding: [0x66,0xa1,0x00,0x00,0x00,0x00] 102b80d571ea85db5d52fafed0523cf59e693502198Kevin Enderbymovl 0, %eax // CHECK: movl 0, %eax # encoding: [0xa1,0x00,0x00,0x00,0x00] 1032745f6e920dd8b562ded008e3e34acc873c5a36fChris Lattner 104c3ce05c594ded5c2ad20410719bd9e586aeff180Kevin Enderby// rdar://7973775 105c3ce05c594ded5c2ad20410719bd9e586aeff180Kevin Enderbyinto 106c3ce05c594ded5c2ad20410719bd9e586aeff180Kevin Enderby// CHECK: into 107c3ce05c594ded5c2ad20410719bd9e586aeff180Kevin Enderby// CHECK: encoding: [0xce] 108c3ce05c594ded5c2ad20410719bd9e586aeff180Kevin Enderbyint3 109c3ce05c594ded5c2ad20410719bd9e586aeff180Kevin Enderby// CHECK: int3 110c3ce05c594ded5c2ad20410719bd9e586aeff180Kevin Enderby// CHECK: encoding: [0xcc] 111c3ce05c594ded5c2ad20410719bd9e586aeff180Kevin Enderbyint $4 112c3ce05c594ded5c2ad20410719bd9e586aeff180Kevin Enderby// CHECK: int $4 113c3ce05c594ded5c2ad20410719bd9e586aeff180Kevin Enderby// CHECK: encoding: [0xcd,0x04] 114c3ce05c594ded5c2ad20410719bd9e586aeff180Kevin Enderbyint $255 115c3ce05c594ded5c2ad20410719bd9e586aeff180Kevin Enderby// CHECK: int $255 116c3ce05c594ded5c2ad20410719bd9e586aeff180Kevin Enderby// CHECK: encoding: [0xcd,0xff] 117e5e4ff974df52aa870085904b6670c4d22ada0acDan Gohman 118e5e4ff974df52aa870085904b6670c4d22ada0acDan Gohman// CHECK: pushfl # encoding: [0x9c] 119e5e4ff974df52aa870085904b6670c4d22ada0acDan Gohman pushf 120e5e4ff974df52aa870085904b6670c4d22ada0acDan Gohman// CHECK: pushfl # encoding: [0x9c] 121e5e4ff974df52aa870085904b6670c4d22ada0acDan Gohman pushfl 122e5e4ff974df52aa870085904b6670c4d22ada0acDan Gohman// CHECK: popfl # encoding: [0x9d] 123e5e4ff974df52aa870085904b6670c4d22ada0acDan Gohman popf 124e5e4ff974df52aa870085904b6670c4d22ada0acDan Gohman// CHECK: popfl # encoding: [0x9d] 125e5e4ff974df52aa870085904b6670c4d22ada0acDan Gohman popfl 1269d31d79493be05ab9cbf5b7fb16b52e79712eff3Kevin Enderby 1279d31d79493be05ab9cbf5b7fb16b52e79712eff3Kevin Enderby// rdar://8014869 1289d31d79493be05ab9cbf5b7fb16b52e79712eff3Kevin Enderbyretl 1299d31d79493be05ab9cbf5b7fb16b52e79712eff3Kevin Enderby// CHECK: ret 1309d31d79493be05ab9cbf5b7fb16b52e79712eff3Kevin Enderby// CHECK: encoding: [0xc3] 131ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby 132ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// rdar://7973854 133ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: cmoval %eax, %edx 134ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: encoding: [0x0f,0x47,0xd0] 135ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby cmoval %eax,%edx 136ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby 137ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: cmovael %eax, %edx 138ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: encoding: [0x0f,0x43,0xd0] 139ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby cmovael %eax,%edx 140ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby 141ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: cmovbel %eax, %edx 142ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: encoding: [0x0f,0x46,0xd0] 143ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby cmovbel %eax,%edx 144ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby 145ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: cmovbl %eax, %edx 146ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: encoding: [0x0f,0x42,0xd0] 147ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby cmovbl %eax,%edx 148ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby 1490989d29d093c281a0d8b4f1b1ea22436249c4087Chris Lattner// CHECK: cmovbw %bx, %bx 1500989d29d093c281a0d8b4f1b1ea22436249c4087Chris Lattnercmovnae %bx,%bx 1510989d29d093c281a0d8b4f1b1ea22436249c4087Chris Lattner 1520989d29d093c281a0d8b4f1b1ea22436249c4087Chris Lattner 153ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: cmovbel %eax, %edx 154ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: encoding: [0x0f,0x46,0xd0] 155ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby cmovbel %eax,%edx 156ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby 157ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: cmovbl %eax, %edx 158ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: encoding: [0x0f,0x42,0xd0] 159ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby cmovcl %eax,%edx 160ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby 161ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: cmovel %eax, %edx 162ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: encoding: [0x0f,0x44,0xd0] 163ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby cmovel %eax,%edx 164ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby 165ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: cmovgl %eax, %edx 166ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: encoding: [0x0f,0x4f,0xd0] 167ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby cmovgl %eax,%edx 168ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby 169ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: cmovgel %eax, %edx 170ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: encoding: [0x0f,0x4d,0xd0] 171ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby cmovgel %eax,%edx 172ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby 173ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: cmovll %eax, %edx 174ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: encoding: [0x0f,0x4c,0xd0] 175ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby cmovll %eax,%edx 176ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby 177ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: cmovlel %eax, %edx 178ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: encoding: [0x0f,0x4e,0xd0] 179ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby cmovlel %eax,%edx 180ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby 181ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: cmovbel %eax, %edx 182ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: encoding: [0x0f,0x46,0xd0] 183ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby cmovnal %eax,%edx 184ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby 185ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: cmovnel %eax, %edx 186ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: encoding: [0x0f,0x45,0xd0] 187ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby cmovnel %eax,%edx 188ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby 189ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: cmovael %eax, %edx 190ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: encoding: [0x0f,0x43,0xd0] 191ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby cmovnbl %eax,%edx 192ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby 193ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: cmoval %eax, %edx 194ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: encoding: [0x0f,0x47,0xd0] 195ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby cmovnbel %eax,%edx 196ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby 197ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: cmovael %eax, %edx 198ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: encoding: [0x0f,0x43,0xd0] 199ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby cmovncl %eax,%edx 200ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby 201ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: cmovnel %eax, %edx 202ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: encoding: [0x0f,0x45,0xd0] 203ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby cmovnel %eax,%edx 204ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby 205ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: cmovlel %eax, %edx 206ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: encoding: [0x0f,0x4e,0xd0] 207ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby cmovngl %eax,%edx 208ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby 209ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: cmovgel %eax, %edx 210ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: encoding: [0x0f,0x4d,0xd0] 211ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby cmovnl %eax,%edx 212ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby 213ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: cmovnel %eax, %edx 214ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: encoding: [0x0f,0x45,0xd0] 215ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby cmovnel %eax,%edx 216ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby 217ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: cmovlel %eax, %edx 218ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: encoding: [0x0f,0x4e,0xd0] 219ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby cmovngl %eax,%edx 220ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby 221ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: cmovll %eax, %edx 222ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: encoding: [0x0f,0x4c,0xd0] 223ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby cmovngel %eax,%edx 224ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby 225ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: cmovgel %eax, %edx 226ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: encoding: [0x0f,0x4d,0xd0] 227ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby cmovnll %eax,%edx 228ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby 229ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: cmovgl %eax, %edx 230ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: encoding: [0x0f,0x4f,0xd0] 231ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby cmovnlel %eax,%edx 232ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby 233ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: cmovnol %eax, %edx 234ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: encoding: [0x0f,0x41,0xd0] 235ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby cmovnol %eax,%edx 236ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby 237ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: cmovnpl %eax, %edx 238ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: encoding: [0x0f,0x4b,0xd0] 239ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby cmovnpl %eax,%edx 240ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby 241ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: cmovnsl %eax, %edx 242ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: encoding: [0x0f,0x49,0xd0] 243ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby cmovnsl %eax,%edx 244ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby 245ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: cmovnel %eax, %edx 246ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: encoding: [0x0f,0x45,0xd0] 247ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby cmovnzl %eax,%edx 248ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby 249ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: cmovol %eax, %edx 250ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: encoding: [0x0f,0x40,0xd0] 251ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby cmovol %eax,%edx 252ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby 253ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: cmovpl %eax, %edx 254ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: encoding: [0x0f,0x4a,0xd0] 255ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby cmovpl %eax,%edx 256ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby 257ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: cmovsl %eax, %edx 258ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: encoding: [0x0f,0x48,0xd0] 259ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby cmovsl %eax,%edx 260ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby 261ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: cmovel %eax, %edx 262ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby// CHECK: encoding: [0x0f,0x44,0xd0] 263ca956dc0f66a573735cdea16acab7159c0c254e5Kevin Enderby cmovzl %eax,%edx 26479373680ed7f2b92df4a5c45d0d9bbd47af77c58Daniel Dunbar 26579373680ed7f2b92df4a5c45d0d9bbd47af77c58Daniel Dunbar// CHECK: cmpps $0, %xmm0, %xmm1 26679373680ed7f2b92df4a5c45d0d9bbd47af77c58Daniel Dunbar// CHECK: encoding: [0x0f,0xc2,0xc8,0x00] 26779373680ed7f2b92df4a5c45d0d9bbd47af77c58Daniel Dunbar cmpps $0, %xmm0, %xmm1 26879373680ed7f2b92df4a5c45d0d9bbd47af77c58Daniel Dunbar// CHECK: cmpps $0, (%eax), %xmm1 26979373680ed7f2b92df4a5c45d0d9bbd47af77c58Daniel Dunbar// CHECK: encoding: [0x0f,0xc2,0x08,0x00] 27079373680ed7f2b92df4a5c45d0d9bbd47af77c58Daniel Dunbar cmpps $0, 0(%eax), %xmm1 27179373680ed7f2b92df4a5c45d0d9bbd47af77c58Daniel Dunbar// CHECK: cmppd $0, %xmm0, %xmm1 27279373680ed7f2b92df4a5c45d0d9bbd47af77c58Daniel Dunbar// CHECK: encoding: [0x66,0x0f,0xc2,0xc8,0x00] 27379373680ed7f2b92df4a5c45d0d9bbd47af77c58Daniel Dunbar cmppd $0, %xmm0, %xmm1 27479373680ed7f2b92df4a5c45d0d9bbd47af77c58Daniel Dunbar// CHECK: cmppd $0, (%eax), %xmm1 27579373680ed7f2b92df4a5c45d0d9bbd47af77c58Daniel Dunbar// CHECK: encoding: [0x66,0x0f,0xc2,0x08,0x00] 27679373680ed7f2b92df4a5c45d0d9bbd47af77c58Daniel Dunbar cmppd $0, 0(%eax), %xmm1 27779373680ed7f2b92df4a5c45d0d9bbd47af77c58Daniel Dunbar// CHECK: cmpss $0, %xmm0, %xmm1 27879373680ed7f2b92df4a5c45d0d9bbd47af77c58Daniel Dunbar// CHECK: encoding: [0xf3,0x0f,0xc2,0xc8,0x00] 27979373680ed7f2b92df4a5c45d0d9bbd47af77c58Daniel Dunbar cmpss $0, %xmm0, %xmm1 28079373680ed7f2b92df4a5c45d0d9bbd47af77c58Daniel Dunbar// CHECK: cmpss $0, (%eax), %xmm1 28179373680ed7f2b92df4a5c45d0d9bbd47af77c58Daniel Dunbar// CHECK: encoding: [0xf3,0x0f,0xc2,0x08,0x00] 28279373680ed7f2b92df4a5c45d0d9bbd47af77c58Daniel Dunbar cmpss $0, 0(%eax), %xmm1 28379373680ed7f2b92df4a5c45d0d9bbd47af77c58Daniel Dunbar// CHECK: cmpsd $0, %xmm0, %xmm1 28479373680ed7f2b92df4a5c45d0d9bbd47af77c58Daniel Dunbar// CHECK: encoding: [0xf2,0x0f,0xc2,0xc8,0x00] 28579373680ed7f2b92df4a5c45d0d9bbd47af77c58Daniel Dunbar cmpsd $0, %xmm0, %xmm1 28679373680ed7f2b92df4a5c45d0d9bbd47af77c58Daniel Dunbar// CHECK: cmpsd $0, (%eax), %xmm1 28779373680ed7f2b92df4a5c45d0d9bbd47af77c58Daniel Dunbar// CHECK: encoding: [0xf2,0x0f,0xc2,0x08,0x00] 28879373680ed7f2b92df4a5c45d0d9bbd47af77c58Daniel Dunbar cmpsd $0, 0(%eax), %xmm1 28939e2dd7bab1925e12d4a03ae7abca0eff87274d6Daniel Dunbar 29039e2dd7bab1925e12d4a03ae7abca0eff87274d6Daniel Dunbar// Check matching of instructions which embed the SSE comparison code. 29139e2dd7bab1925e12d4a03ae7abca0eff87274d6Daniel Dunbar 292ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines// CHECK: cmpeqps %xmm0, %xmm1 29339e2dd7bab1925e12d4a03ae7abca0eff87274d6Daniel Dunbar// CHECK: encoding: [0x0f,0xc2,0xc8,0x00] 29439e2dd7bab1925e12d4a03ae7abca0eff87274d6Daniel Dunbar cmpeqps %xmm0, %xmm1 29539e2dd7bab1925e12d4a03ae7abca0eff87274d6Daniel Dunbar 296ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines// CHECK: cmpltpd %xmm0, %xmm1 29739e2dd7bab1925e12d4a03ae7abca0eff87274d6Daniel Dunbar// CHECK: encoding: [0x66,0x0f,0xc2,0xc8,0x01] 29839e2dd7bab1925e12d4a03ae7abca0eff87274d6Daniel Dunbar cmpltpd %xmm0, %xmm1 29939e2dd7bab1925e12d4a03ae7abca0eff87274d6Daniel Dunbar 300ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines// CHECK: cmpless %xmm0, %xmm1 30139e2dd7bab1925e12d4a03ae7abca0eff87274d6Daniel Dunbar// CHECK: encoding: [0xf3,0x0f,0xc2,0xc8,0x02] 30239e2dd7bab1925e12d4a03ae7abca0eff87274d6Daniel Dunbar cmpless %xmm0, %xmm1 30339e2dd7bab1925e12d4a03ae7abca0eff87274d6Daniel Dunbar 304ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines// CHECK: cmpunordpd %xmm0, %xmm1 30539e2dd7bab1925e12d4a03ae7abca0eff87274d6Daniel Dunbar// CHECK: encoding: [0x66,0x0f,0xc2,0xc8,0x03] 30639e2dd7bab1925e12d4a03ae7abca0eff87274d6Daniel Dunbar cmpunordpd %xmm0, %xmm1 30739e2dd7bab1925e12d4a03ae7abca0eff87274d6Daniel Dunbar 308ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines// CHECK: cmpneqps %xmm0, %xmm1 30939e2dd7bab1925e12d4a03ae7abca0eff87274d6Daniel Dunbar// CHECK: encoding: [0x0f,0xc2,0xc8,0x04] 31039e2dd7bab1925e12d4a03ae7abca0eff87274d6Daniel Dunbar cmpneqps %xmm0, %xmm1 31139e2dd7bab1925e12d4a03ae7abca0eff87274d6Daniel Dunbar 312ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines// CHECK: cmpnltpd %xmm0, %xmm1 31339e2dd7bab1925e12d4a03ae7abca0eff87274d6Daniel Dunbar// CHECK: encoding: [0x66,0x0f,0xc2,0xc8,0x05] 31439e2dd7bab1925e12d4a03ae7abca0eff87274d6Daniel Dunbar cmpnltpd %xmm0, %xmm1 31539e2dd7bab1925e12d4a03ae7abca0eff87274d6Daniel Dunbar 316ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines// CHECK: cmpnless %xmm0, %xmm1 31739e2dd7bab1925e12d4a03ae7abca0eff87274d6Daniel Dunbar// CHECK: encoding: [0xf3,0x0f,0xc2,0xc8,0x06] 31839e2dd7bab1925e12d4a03ae7abca0eff87274d6Daniel Dunbar cmpnless %xmm0, %xmm1 31939e2dd7bab1925e12d4a03ae7abca0eff87274d6Daniel Dunbar 320ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines// CHECK: cmpordsd %xmm0, %xmm1 32139e2dd7bab1925e12d4a03ae7abca0eff87274d6Daniel Dunbar// CHECK: encoding: [0xf2,0x0f,0xc2,0xc8,0x07] 32239e2dd7bab1925e12d4a03ae7abca0eff87274d6Daniel Dunbar cmpordsd %xmm0, %xmm1 323cf50a5390c09325a7fc41640449205eced4363f6Kevin Enderby 324cf50a5390c09325a7fc41640449205eced4363f6Kevin Enderby// rdar://7995856 325cf50a5390c09325a7fc41640449205eced4363f6Kevin Enderby// CHECK: fmul %st(0) 326cf50a5390c09325a7fc41640449205eced4363f6Kevin Enderby// CHECK: encoding: [0xd8,0xc8] 327cf50a5390c09325a7fc41640449205eced4363f6Kevin Enderby fmul %st(0), %st 328cf50a5390c09325a7fc41640449205eced4363f6Kevin Enderby 329cf50a5390c09325a7fc41640449205eced4363f6Kevin Enderby// CHECK: fadd %st(0) 330cf50a5390c09325a7fc41640449205eced4363f6Kevin Enderby// CHECK: encoding: [0xd8,0xc0] 331cf50a5390c09325a7fc41640449205eced4363f6Kevin Enderby fadd %st(0), %st 332cf50a5390c09325a7fc41640449205eced4363f6Kevin Enderby 333cf50a5390c09325a7fc41640449205eced4363f6Kevin Enderby// CHECK: fsub %st(0) 334cf50a5390c09325a7fc41640449205eced4363f6Kevin Enderby// CHECK: encoding: [0xd8,0xe0] 335cf50a5390c09325a7fc41640449205eced4363f6Kevin Enderby fsub %st(0), %st 336cf50a5390c09325a7fc41640449205eced4363f6Kevin Enderby 337cf50a5390c09325a7fc41640449205eced4363f6Kevin Enderby// CHECK: fsubr %st(0) 338cf50a5390c09325a7fc41640449205eced4363f6Kevin Enderby// CHECK: encoding: [0xd8,0xe8] 339cf50a5390c09325a7fc41640449205eced4363f6Kevin Enderby fsubr %st(0), %st 340cf50a5390c09325a7fc41640449205eced4363f6Kevin Enderby 341cf50a5390c09325a7fc41640449205eced4363f6Kevin Enderby// CHECK: fdivr %st(0) 342cf50a5390c09325a7fc41640449205eced4363f6Kevin Enderby// CHECK: encoding: [0xd8,0xf8] 343cf50a5390c09325a7fc41640449205eced4363f6Kevin Enderby fdivr %st(0), %st 344cf50a5390c09325a7fc41640449205eced4363f6Kevin Enderby 345cf50a5390c09325a7fc41640449205eced4363f6Kevin Enderby// CHECK: fdiv %st(0) 346cf50a5390c09325a7fc41640449205eced4363f6Kevin Enderby// CHECK: encoding: [0xd8,0xf0] 347cf50a5390c09325a7fc41640449205eced4363f6Kevin Enderby fdiv %st(0), %st 348b106543592abcaabdbe929dd05d914f613f00af2Kevin Enderby 349b106543592abcaabdbe929dd05d914f613f00af2Kevin Enderby// radr://8017519 350b106543592abcaabdbe929dd05d914f613f00af2Kevin Enderby// CHECK: movl %cs, %eax 351b106543592abcaabdbe929dd05d914f613f00af2Kevin Enderby// CHECK: encoding: [0x8c,0xc8] 352b106543592abcaabdbe929dd05d914f613f00af2Kevin Enderby movl %cs, %eax 353b106543592abcaabdbe929dd05d914f613f00af2Kevin Enderby 354b106543592abcaabdbe929dd05d914f613f00af2Kevin Enderby// CHECK: movw %cs, %ax 355b106543592abcaabdbe929dd05d914f613f00af2Kevin Enderby// CHECK: encoding: [0x66,0x8c,0xc8] 356b106543592abcaabdbe929dd05d914f613f00af2Kevin Enderby movw %cs, %ax 357b106543592abcaabdbe929dd05d914f613f00af2Kevin Enderby 358b106543592abcaabdbe929dd05d914f613f00af2Kevin Enderby// CHECK: movl %cs, (%eax) 359b106543592abcaabdbe929dd05d914f613f00af2Kevin Enderby// CHECK: encoding: [0x8c,0x08] 360b106543592abcaabdbe929dd05d914f613f00af2Kevin Enderby movl %cs, (%eax) 361b106543592abcaabdbe929dd05d914f613f00af2Kevin Enderby 362b106543592abcaabdbe929dd05d914f613f00af2Kevin Enderby// CHECK: movw %cs, (%eax) 363b106543592abcaabdbe929dd05d914f613f00af2Kevin Enderby// CHECK: encoding: [0x66,0x8c,0x08] 364b106543592abcaabdbe929dd05d914f613f00af2Kevin Enderby movw %cs, (%eax) 365b106543592abcaabdbe929dd05d914f613f00af2Kevin Enderby 366b106543592abcaabdbe929dd05d914f613f00af2Kevin Enderby// CHECK: movl %eax, %cs 367b106543592abcaabdbe929dd05d914f613f00af2Kevin Enderby// CHECK: encoding: [0x8e,0xc8] 368b106543592abcaabdbe929dd05d914f613f00af2Kevin Enderby movl %eax, %cs 369b106543592abcaabdbe929dd05d914f613f00af2Kevin Enderby 370b106543592abcaabdbe929dd05d914f613f00af2Kevin Enderby// CHECK: movl (%eax), %cs 371b106543592abcaabdbe929dd05d914f613f00af2Kevin Enderby// CHECK: encoding: [0x8e,0x08] 372b106543592abcaabdbe929dd05d914f613f00af2Kevin Enderby movl (%eax), %cs 373b106543592abcaabdbe929dd05d914f613f00af2Kevin Enderby 374b106543592abcaabdbe929dd05d914f613f00af2Kevin Enderby// CHECK: movw (%eax), %cs 375b106543592abcaabdbe929dd05d914f613f00af2Kevin Enderby// CHECK: encoding: [0x66,0x8e,0x08] 376b106543592abcaabdbe929dd05d914f613f00af2Kevin Enderby movw (%eax), %cs 37731b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby 37831b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby// radr://8033374 37931b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby// CHECK: movl %cr0, %eax 38031b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby// CHECK: encoding: [0x0f,0x20,0xc0] 38131b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby movl %cr0,%eax 38231b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby 38331b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby// CHECK: movl %cr1, %eax 38431b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby// CHECK: encoding: [0x0f,0x20,0xc8] 38531b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby movl %cr1,%eax 38631b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby 38731b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby// CHECK: movl %cr2, %eax 38831b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby// CHECK: encoding: [0x0f,0x20,0xd0] 38931b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby movl %cr2,%eax 39031b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby 39131b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby// CHECK: movl %cr3, %eax 39231b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby// CHECK: encoding: [0x0f,0x20,0xd8] 39331b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby movl %cr3,%eax 39431b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby 39531b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby// CHECK: movl %cr4, %eax 39631b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby// CHECK: encoding: [0x0f,0x20,0xe0] 39731b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby movl %cr4,%eax 39831b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby 39931b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby// CHECK: movl %dr0, %eax 40031b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby// CHECK: encoding: [0x0f,0x21,0xc0] 40131b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby movl %dr0,%eax 40231b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby 40331b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby// CHECK: movl %dr1, %eax 40431b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby// CHECK: encoding: [0x0f,0x21,0xc8] 40531b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby movl %dr1,%eax 40631b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby 40731b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby// CHECK: movl %dr1, %eax 40831b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby// CHECK: encoding: [0x0f,0x21,0xc8] 40931b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby movl %dr1,%eax 41031b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby 41131b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby// CHECK: movl %dr2, %eax 41231b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby// CHECK: encoding: [0x0f,0x21,0xd0] 41331b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby movl %dr2,%eax 41431b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby 41531b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby// CHECK: movl %dr3, %eax 41631b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby// CHECK: encoding: [0x0f,0x21,0xd8] 41731b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby movl %dr3,%eax 41831b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby 41931b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby// CHECK: movl %dr4, %eax 42031b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby// CHECK: encoding: [0x0f,0x21,0xe0] 42131b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby movl %dr4,%eax 42231b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby 42331b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby// CHECK: movl %dr5, %eax 42431b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby// CHECK: encoding: [0x0f,0x21,0xe8] 42531b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby movl %dr5,%eax 42631b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby 42731b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby// CHECK: movl %dr6, %eax 42831b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby// CHECK: encoding: [0x0f,0x21,0xf0] 42931b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby movl %dr6,%eax 43031b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby 43131b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby// CHECK: movl %dr7, %eax 43231b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby// CHECK: encoding: [0x0f,0x21,0xf8] 43331b6c5b2f3118ba8ab9366ecf37085a26be6db97Kevin Enderby movl %dr7,%eax 4345e394429ab0a51af87056fbdaceeae879e651963Kevin Enderby 4355e394429ab0a51af87056fbdaceeae879e651963Kevin Enderby// radr://8017522 4365e394429ab0a51af87056fbdaceeae879e651963Kevin Enderby// CHECK: wait 4375e394429ab0a51af87056fbdaceeae879e651963Kevin Enderby// CHECK: encoding: [0x9b] 4385e394429ab0a51af87056fbdaceeae879e651963Kevin Enderby fwait 4391cf44fc051e05c7cd96a4b071b654381338baae9Chris Lattner 4401cf44fc051e05c7cd96a4b071b654381338baae9Chris Lattner// rdar://7873482 44136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: [0x65,0xa1,0x7c,0x00,0x00,0x00] 4421cf44fc051e05c7cd96a4b071b654381338baae9Chris Lattner movl %gs:124, %eax 44350b9efc2a852bab753948a35e6615ace3100c9daNico Weber 44436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: [0x65,0xa3,0x7c,0x00,0x00,0x00] 44536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines movl %eax, %gs:124 44636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 44736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: pushal 44850b9efc2a852bab753948a35e6615ace3100c9daNico Weber// CHECK: encoding: [0x60] 44950b9efc2a852bab753948a35e6615ace3100c9daNico Weber pusha 45050b9efc2a852bab753948a35e6615ace3100c9daNico Weber 45136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: popal 45250b9efc2a852bab753948a35e6615ace3100c9daNico Weber// CHECK: encoding: [0x61] 45350b9efc2a852bab753948a35e6615ace3100c9daNico Weber popa 45450b9efc2a852bab753948a35e6615ace3100c9daNico Weber 45536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: pushaw 45636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: encoding: [0x66,0x60] 45736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines pushaw 45836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 45936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: popaw 46036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: encoding: [0x66,0x61] 46136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines popaw 46236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 46350b9efc2a852bab753948a35e6615ace3100c9daNico Weber// CHECK: pushal 46450b9efc2a852bab753948a35e6615ace3100c9daNico Weber// CHECK: encoding: [0x60] 46550b9efc2a852bab753948a35e6615ace3100c9daNico Weber pushal 46650b9efc2a852bab753948a35e6615ace3100c9daNico Weber 46750b9efc2a852bab753948a35e6615ace3100c9daNico Weber// CHECK: popal 46850b9efc2a852bab753948a35e6615ace3100c9daNico Weber// CHECK: encoding: [0x61] 46950b9efc2a852bab753948a35e6615ace3100c9daNico Weber popal 47050b9efc2a852bab753948a35e6615ace3100c9daNico Weber 47177e2dd7bb2bb5f28d389ba246d815cd9848ee53bDaniel Dunbar// CHECK: jmpl *8(%eax) 47277e2dd7bb2bb5f28d389ba246d815cd9848ee53bDaniel Dunbar// CHECK: encoding: [0xff,0x60,0x08] 47377e2dd7bb2bb5f28d389ba246d815cd9848ee53bDaniel Dunbar jmp *8(%eax) 47459f8a6a66621f7c6f45b838e48fbf210af9d1fb5Chris Lattner 47559f8a6a66621f7c6f45b838e48fbf210af9d1fb5Chris Lattner// PR7465 47659f8a6a66621f7c6f45b838e48fbf210af9d1fb5Chris Lattner// CHECK: lcalll $2, $4660 47759f8a6a66621f7c6f45b838e48fbf210af9d1fb5Chris Lattner// CHECK: encoding: [0x9a,0x34,0x12,0x00,0x00,0x02,0x00] 47859f8a6a66621f7c6f45b838e48fbf210af9d1fb5Chris Lattnerlcalll $0x2, $0x1234 479a247685b3013b3dc675d4e83f9c98de6473af1d7Chris Lattner 480a247685b3013b3dc675d4e83f9c98de6473af1d7Chris Lattner 481a247685b3013b3dc675d4e83f9c98de6473af1d7Chris Lattner// rdar://8061602 482a247685b3013b3dc675d4e83f9c98de6473af1d7Chris LattnerL1: 483a247685b3013b3dc675d4e83f9c98de6473af1d7Chris Lattner jcxz L1 484a247685b3013b3dc675d4e83f9c98de6473af1d7Chris Lattner// CHECK: jcxz L1 485a247685b3013b3dc675d4e83f9c98de6473af1d7Chris Lattner// CHECK: encoding: [0x67,0xe3,A] 486a247685b3013b3dc675d4e83f9c98de6473af1d7Chris Lattner jecxz L1 487a247685b3013b3dc675d4e83f9c98de6473af1d7Chris Lattner// CHECK: jecxz L1 488a247685b3013b3dc675d4e83f9c98de6473af1d7Chris Lattner// CHECK: encoding: [0xe3,A] 489a247685b3013b3dc675d4e83f9c98de6473af1d7Chris Lattner 490ba8cea450f330145cc7764e23e5d8b1aadd5e131Chris Lattner// rdar://8403974 491ba8cea450f330145cc7764e23e5d8b1aadd5e131Chris Lattneriret 492ba8cea450f330145cc7764e23e5d8b1aadd5e131Chris Lattner// CHECK: iretl 493ba8cea450f330145cc7764e23e5d8b1aadd5e131Chris Lattner// CHECK: encoding: [0xcf] 494ba8cea450f330145cc7764e23e5d8b1aadd5e131Chris Lattneriretw 495ba8cea450f330145cc7764e23e5d8b1aadd5e131Chris Lattner// CHECK: iretw 496ba8cea450f330145cc7764e23e5d8b1aadd5e131Chris Lattner// CHECK: encoding: [0x66,0xcf] 497ba8cea450f330145cc7764e23e5d8b1aadd5e131Chris Lattneriretl 498ba8cea450f330145cc7764e23e5d8b1aadd5e131Chris Lattner// CHECK: iretl 499ba8cea450f330145cc7764e23e5d8b1aadd5e131Chris Lattner// CHECK: encoding: [0xcf] 500ba8e81cca281a92fe30c25a10d8990521128be39Chris Lattner 501ba8e81cca281a92fe30c25a10d8990521128be39Chris Lattner// rdar://8403907 502ba8e81cca281a92fe30c25a10d8990521128be39Chris Lattnersysret 503ba8e81cca281a92fe30c25a10d8990521128be39Chris Lattner// CHECK: sysretl 504ba8e81cca281a92fe30c25a10d8990521128be39Chris Lattner// CHECK: encoding: [0x0f,0x07] 505ba8e81cca281a92fe30c25a10d8990521128be39Chris Lattnersysretl 506ba8e81cca281a92fe30c25a10d8990521128be39Chris Lattner// CHECK: sysretl 507ba8e81cca281a92fe30c25a10d8990521128be39Chris Lattner// CHECK: encoding: [0x0f,0x07] 508c8ae35a8e8a6a39ae05b1c876afbf404e20961ffChris Lattner 509c8ae35a8e8a6a39ae05b1c876afbf404e20961ffChris Lattner// rdar://8018260 510c8ae35a8e8a6a39ae05b1c876afbf404e20961ffChris Lattnertestl %ecx, -24(%ebp) 511c8ae35a8e8a6a39ae05b1c876afbf404e20961ffChris Lattner// CHECK: testl -24(%ebp), %ecx 512c8ae35a8e8a6a39ae05b1c876afbf404e20961ffChris Lattnertestl -24(%ebp), %ecx 513c8ae35a8e8a6a39ae05b1c876afbf404e20961ffChris Lattner// CHECK: testl -24(%ebp), %ecx 514c8ae35a8e8a6a39ae05b1c876afbf404e20961ffChris Lattner 515373c458850a963ab062046529337fe976e1f944dChris Lattner 516373c458850a963ab062046529337fe976e1f944dChris Lattner// rdar://8407242 517373c458850a963ab062046529337fe976e1f944dChris Lattnerpush %cs 518373c458850a963ab062046529337fe976e1f944dChris Lattner// CHECK: pushl %cs 519373c458850a963ab062046529337fe976e1f944dChris Lattner// CHECK: encoding: [0x0e] 520373c458850a963ab062046529337fe976e1f944dChris Lattnerpush %ds 521373c458850a963ab062046529337fe976e1f944dChris Lattner// CHECK: pushl %ds 522373c458850a963ab062046529337fe976e1f944dChris Lattner// CHECK: encoding: [0x1e] 523373c458850a963ab062046529337fe976e1f944dChris Lattnerpush %ss 524373c458850a963ab062046529337fe976e1f944dChris Lattner// CHECK: pushl %ss 525373c458850a963ab062046529337fe976e1f944dChris Lattner// CHECK: encoding: [0x16] 526373c458850a963ab062046529337fe976e1f944dChris Lattnerpush %es 527373c458850a963ab062046529337fe976e1f944dChris Lattner// CHECK: pushl %es 528373c458850a963ab062046529337fe976e1f944dChris Lattner// CHECK: encoding: [0x06] 529373c458850a963ab062046529337fe976e1f944dChris Lattnerpush %fs 530373c458850a963ab062046529337fe976e1f944dChris Lattner// CHECK: pushl %fs 531373c458850a963ab062046529337fe976e1f944dChris Lattner// CHECK: encoding: [0x0f,0xa0] 532373c458850a963ab062046529337fe976e1f944dChris Lattnerpush %gs 533373c458850a963ab062046529337fe976e1f944dChris Lattner// CHECK: pushl %gs 534373c458850a963ab062046529337fe976e1f944dChris Lattner// CHECK: encoding: [0x0f,0xa8] 535373c458850a963ab062046529337fe976e1f944dChris Lattner 536373c458850a963ab062046529337fe976e1f944dChris Lattnerpushw %cs 537373c458850a963ab062046529337fe976e1f944dChris Lattner// CHECK: pushw %cs 538373c458850a963ab062046529337fe976e1f944dChris Lattner// CHECK: encoding: [0x66,0x0e] 539373c458850a963ab062046529337fe976e1f944dChris Lattnerpushw %ds 540373c458850a963ab062046529337fe976e1f944dChris Lattner// CHECK: pushw %ds 541373c458850a963ab062046529337fe976e1f944dChris Lattner// CHECK: encoding: [0x66,0x1e] 542373c458850a963ab062046529337fe976e1f944dChris Lattnerpushw %ss 543373c458850a963ab062046529337fe976e1f944dChris Lattner// CHECK: pushw %ss 544373c458850a963ab062046529337fe976e1f944dChris Lattner// CHECK: encoding: [0x66,0x16] 545373c458850a963ab062046529337fe976e1f944dChris Lattnerpushw %es 546373c458850a963ab062046529337fe976e1f944dChris Lattner// CHECK: pushw %es 547373c458850a963ab062046529337fe976e1f944dChris Lattner// CHECK: encoding: [0x66,0x06] 548373c458850a963ab062046529337fe976e1f944dChris Lattnerpushw %fs 549373c458850a963ab062046529337fe976e1f944dChris Lattner// CHECK: pushw %fs 550373c458850a963ab062046529337fe976e1f944dChris Lattner// CHECK: encoding: [0x66,0x0f,0xa0] 551373c458850a963ab062046529337fe976e1f944dChris Lattnerpushw %gs 552373c458850a963ab062046529337fe976e1f944dChris Lattner// CHECK: pushw %gs 553373c458850a963ab062046529337fe976e1f944dChris Lattner// CHECK: encoding: [0x66,0x0f,0xa8] 554373c458850a963ab062046529337fe976e1f944dChris Lattner 555373c458850a963ab062046529337fe976e1f944dChris Lattnerpop %ss 556373c458850a963ab062046529337fe976e1f944dChris Lattner// CHECK: popl %ss 557373c458850a963ab062046529337fe976e1f944dChris Lattner// CHECK: encoding: [0x17] 558373c458850a963ab062046529337fe976e1f944dChris Lattnerpop %ds 559373c458850a963ab062046529337fe976e1f944dChris Lattner// CHECK: popl %ds 560373c458850a963ab062046529337fe976e1f944dChris Lattner// CHECK: encoding: [0x1f] 561373c458850a963ab062046529337fe976e1f944dChris Lattnerpop %es 562373c458850a963ab062046529337fe976e1f944dChris Lattner// CHECK: popl %es 563373c458850a963ab062046529337fe976e1f944dChris Lattner// CHECK: encoding: [0x07] 564dfa3c9d98260f899297c11cda2b15dc44fc4f91eChris Lattner 565dfa3c9d98260f899297c11cda2b15dc44fc4f91eChris Lattner// rdar://8408129 566dfa3c9d98260f899297c11cda2b15dc44fc4f91eChris Lattnerpushfd 567dfa3c9d98260f899297c11cda2b15dc44fc4f91eChris Lattner// CHECK: pushfl 568dfa3c9d98260f899297c11cda2b15dc44fc4f91eChris Lattnerpopfd 569dfa3c9d98260f899297c11cda2b15dc44fc4f91eChris Lattner// CHECK: popfl 570dfa3c9d98260f899297c11cda2b15dc44fc4f91eChris Lattnerpushfl 571dfa3c9d98260f899297c11cda2b15dc44fc4f91eChris Lattner// CHECK: pushfl 572dfa3c9d98260f899297c11cda2b15dc44fc4f91eChris Lattnerpopfl 573dfa3c9d98260f899297c11cda2b15dc44fc4f91eChris Lattner// CHECK: popfl 574697d37a43625b8862a6d6993c6c5ee614fdc0843Chris Lattner 575697d37a43625b8862a6d6993c6c5ee614fdc0843Chris Lattner 576697d37a43625b8862a6d6993c6c5ee614fdc0843Chris Lattner// rdar://8416805 577697d37a43625b8862a6d6993c6c5ee614fdc0843Chris Lattner setc %bl 578697d37a43625b8862a6d6993c6c5ee614fdc0843Chris Lattner setnae %bl 579697d37a43625b8862a6d6993c6c5ee614fdc0843Chris Lattner setnb %bl 580697d37a43625b8862a6d6993c6c5ee614fdc0843Chris Lattner setnc %bl 581697d37a43625b8862a6d6993c6c5ee614fdc0843Chris Lattner setna %bl 582697d37a43625b8862a6d6993c6c5ee614fdc0843Chris Lattner setnbe %bl 583697d37a43625b8862a6d6993c6c5ee614fdc0843Chris Lattner setpe %bl 584697d37a43625b8862a6d6993c6c5ee614fdc0843Chris Lattner setpo %bl 585697d37a43625b8862a6d6993c6c5ee614fdc0843Chris Lattner setnge %bl 586697d37a43625b8862a6d6993c6c5ee614fdc0843Chris Lattner setnl %bl 587697d37a43625b8862a6d6993c6c5ee614fdc0843Chris Lattner setng %bl 588697d37a43625b8862a6d6993c6c5ee614fdc0843Chris Lattner setnle %bl 589cbb442640fdefae48edca2b4c60555a68352b553Chris Lattner 590d8f717911dcdccb1a60b3049ea22c7767970dcb7Chris Lattner// PR8686 591d8f717911dcdccb1a60b3049ea22c7767970dcb7Chris Lattner setneb %cl // CHECK: setne %cl 592d8f717911dcdccb1a60b3049ea22c7767970dcb7Chris Lattner setcb %bl // CHECK: setb %bl 593d8f717911dcdccb1a60b3049ea22c7767970dcb7Chris Lattner setnaeb %bl // CHECK: setb %bl 594cbb442640fdefae48edca2b4c60555a68352b553Chris Lattner 595cbb442640fdefae48edca2b4c60555a68352b553Chris Lattner 596cbb442640fdefae48edca2b4c60555a68352b553Chris Lattner// CHECK: lcalll $31438, $31438 597cbb442640fdefae48edca2b4c60555a68352b553Chris Lattner// CHECK: lcalll $31438, $31438 598cbb442640fdefae48edca2b4c60555a68352b553Chris Lattner// CHECK: ljmpl $31438, $31438 599cbb442640fdefae48edca2b4c60555a68352b553Chris Lattner// CHECK: ljmpl $31438, $31438 600cbb442640fdefae48edca2b4c60555a68352b553Chris Lattner 601cbb442640fdefae48edca2b4c60555a68352b553Chris Lattnercalll $0x7ace,$0x7ace 602cbb442640fdefae48edca2b4c60555a68352b553Chris Lattnerlcalll $0x7ace,$0x7ace 603cbb442640fdefae48edca2b4c60555a68352b553Chris Lattnerjmpl $0x7ace,$0x7ace 604cbb442640fdefae48edca2b4c60555a68352b553Chris Lattnerljmpl $0x7ace,$0x7ace 605cbb442640fdefae48edca2b4c60555a68352b553Chris Lattner 60636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: lcallw $31438, $31438 60736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: lcallw $31438, $31438 60836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: ljmpw $31438, $31438 60936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: ljmpw $31438, $31438 61036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 61136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinescallw $0x7ace,$0x7ace 61236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hineslcallw $0x7ace,$0x7ace 61336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesjmpw $0x7ace,$0x7ace 61436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesljmpw $0x7ace,$0x7ace 61536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 616d0bcc9a01590c60adb4d288691120c46a49a2288Chris Lattner// CHECK: lcalll $31438, $31438 617d0bcc9a01590c60adb4d288691120c46a49a2288Chris Lattner// CHECK: lcalll $31438, $31438 618d0bcc9a01590c60adb4d288691120c46a49a2288Chris Lattner// CHECK: ljmpl $31438, $31438 619d0bcc9a01590c60adb4d288691120c46a49a2288Chris Lattner// CHECK: ljmpl $31438, $31438 620d0bcc9a01590c60adb4d288691120c46a49a2288Chris Lattner 621d0bcc9a01590c60adb4d288691120c46a49a2288Chris Lattnercall $0x7ace,$0x7ace 622d0bcc9a01590c60adb4d288691120c46a49a2288Chris Lattnerlcall $0x7ace,$0x7ace 623d0bcc9a01590c60adb4d288691120c46a49a2288Chris Lattnerjmp $0x7ace,$0x7ace 624d0bcc9a01590c60adb4d288691120c46a49a2288Chris Lattnerljmp $0x7ace,$0x7ace 625d0bcc9a01590c60adb4d288691120c46a49a2288Chris Lattner 6261eb1b68e3a5241591bfa18d4beb0e0cf13a48ef2Chris Lattner// rdar://8456370 6271eb1b68e3a5241591bfa18d4beb0e0cf13a48ef2Chris Lattner// CHECK: calll a 6281eb1b68e3a5241591bfa18d4beb0e0cf13a48ef2Chris Lattner calll a 62927c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner 63027c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner// CHECK: incb %al # encoding: [0xfe,0xc0] 63127c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner incb %al 63227c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner 63327c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner// CHECK: incw %ax # encoding: [0x66,0x40] 63427c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner incw %ax 63527c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner 63627c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner// CHECK: incl %eax # encoding: [0x40] 63727c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner incl %eax 63827c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner 63927c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner// CHECK: decb %al # encoding: [0xfe,0xc8] 64027c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner decb %al 64127c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner 64227c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner// CHECK: decw %ax # encoding: [0x66,0x48] 64327c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner decw %ax 64427c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner 64527c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner// CHECK: decl %eax # encoding: [0x48] 64627c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner decl %eax 64727c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner 648d47691460770c886cf2fdafaf0f53e0cd101ccf1Chris Lattner// CHECK: pshufw $14, %mm4, %mm0 # encoding: [0x0f,0x70,0xc4,0x0e] 649d47691460770c886cf2fdafaf0f53e0cd101ccf1Chris Lattnerpshufw $14, %mm4, %mm0 650591d76ea5a10062316e18075eccd4c62d60b5a80Chris Lattner 651591d76ea5a10062316e18075eccd4c62d60b5a80Chris Lattner// CHECK: pshufw $90, %mm4, %mm0 # encoding: [0x0f,0x70,0xc4,0x5a] 652591d76ea5a10062316e18075eccd4c62d60b5a80Chris Lattner// PR8288 653591d76ea5a10062316e18075eccd4c62d60b5a80Chris Lattnerpshufw $90, %mm4, %mm0 654591d76ea5a10062316e18075eccd4c62d60b5a80Chris Lattner 6557aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// rdar://8416805 6567aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// CHECK: aaa 6577aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// CHECK: encoding: [0x37] 6587aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby aaa 6597aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby 6607aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// CHECK: aad $1 6617aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// CHECK: encoding: [0xd5,0x01] 6627aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby aad $1 6637aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby 664c6df9883da99915d1cfa491b381ffa703c61ed90Bill Wendling// CHECK: aad 6657aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// CHECK: encoding: [0xd5,0x0a] 6667aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby aad $0xA 6677aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby 668c6df9883da99915d1cfa491b381ffa703c61ed90Bill Wendling// CHECK: aad 6697aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// CHECK: encoding: [0xd5,0x0a] 6707aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby aad 6717aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby 6727aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// CHECK: aam $2 6737aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// CHECK: encoding: [0xd4,0x02] 6747aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby aam $2 6757aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby 676c6df9883da99915d1cfa491b381ffa703c61ed90Bill Wendling// CHECK: aam 6777aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// CHECK: encoding: [0xd4,0x0a] 6787aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby aam $0xA 6797aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby 680c6df9883da99915d1cfa491b381ffa703c61ed90Bill Wendling// CHECK: aam 6817aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// CHECK: encoding: [0xd4,0x0a] 6827aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby aam 6837aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby 6847aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// CHECK: aas 6857aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// CHECK: encoding: [0x3f] 6867aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby aas 6877aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby 6887aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// CHECK: daa 6897aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// CHECK: encoding: [0x27] 6907aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby daa 6917aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby 6927aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// CHECK: das 6937aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// CHECK: encoding: [0x2f] 6947aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby das 6957aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby 6967aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// CHECK: retw $31438 6977aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// CHECK: encoding: [0x66,0xc2,0xce,0x7a] 6987aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby retw $0x7ace 6997aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby 7007aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// CHECK: lretw $31438 7017aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// CHECK: encoding: [0x66,0xca,0xce,0x7a] 7027aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby lretw $0x7ace 7037aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby 7047aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// CHECK: bound 2(%eax), %bx 7057aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// CHECK: encoding: [0x66,0x62,0x58,0x02] 7067aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby bound 2(%eax),%bx 7077aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby 7087aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// CHECK: bound 4(%ebx), %ecx 7097aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// CHECK: encoding: [0x62,0x4b,0x04] 7107aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby bound 4(%ebx),%ecx 7117aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby 7127aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// CHECK: arpl %bx, %bx 7137aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// CHECK: encoding: [0x63,0xdb] 7147aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby arpl %bx,%bx 7157aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby 7167aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// CHECK: arpl %bx, 6(%ecx) 7177aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// CHECK: encoding: [0x63,0x59,0x06] 7187aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby arpl %bx,6(%ecx) 71987f4a1a4331e40cbba28e829561759d146273840Kevin Enderby 72087f4a1a4331e40cbba28e829561759d146273840Kevin Enderby// CHECK: lgdtw 4(%eax) 72187f4a1a4331e40cbba28e829561759d146273840Kevin Enderby// CHECK: encoding: [0x66,0x0f,0x01,0x50,0x04] 72287f4a1a4331e40cbba28e829561759d146273840Kevin Enderby lgdtw 4(%eax) 72387f4a1a4331e40cbba28e829561759d146273840Kevin Enderby 72436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: lgdtl 4(%eax) 72587f4a1a4331e40cbba28e829561759d146273840Kevin Enderby// CHECK: encoding: [0x0f,0x01,0x50,0x04] 72687f4a1a4331e40cbba28e829561759d146273840Kevin Enderby lgdt 4(%eax) 72787f4a1a4331e40cbba28e829561759d146273840Kevin Enderby 72836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: lgdtl 4(%eax) 72987f4a1a4331e40cbba28e829561759d146273840Kevin Enderby// CHECK: encoding: [0x0f,0x01,0x50,0x04] 73087f4a1a4331e40cbba28e829561759d146273840Kevin Enderby lgdtl 4(%eax) 73187f4a1a4331e40cbba28e829561759d146273840Kevin Enderby 73287f4a1a4331e40cbba28e829561759d146273840Kevin Enderby// CHECK: lidtw 4(%eax) 73387f4a1a4331e40cbba28e829561759d146273840Kevin Enderby// CHECK: encoding: [0x66,0x0f,0x01,0x58,0x04] 73487f4a1a4331e40cbba28e829561759d146273840Kevin Enderby lidtw 4(%eax) 73587f4a1a4331e40cbba28e829561759d146273840Kevin Enderby 73636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: lidtl 4(%eax) 73787f4a1a4331e40cbba28e829561759d146273840Kevin Enderby// CHECK: encoding: [0x0f,0x01,0x58,0x04] 73887f4a1a4331e40cbba28e829561759d146273840Kevin Enderby lidt 4(%eax) 73987f4a1a4331e40cbba28e829561759d146273840Kevin Enderby 74036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: lidtl 4(%eax) 74187f4a1a4331e40cbba28e829561759d146273840Kevin Enderby// CHECK: encoding: [0x0f,0x01,0x58,0x04] 74287f4a1a4331e40cbba28e829561759d146273840Kevin Enderby lidtl 4(%eax) 74387f4a1a4331e40cbba28e829561759d146273840Kevin Enderby 74487f4a1a4331e40cbba28e829561759d146273840Kevin Enderby// CHECK: sgdtw 4(%eax) 74587f4a1a4331e40cbba28e829561759d146273840Kevin Enderby// CHECK: encoding: [0x66,0x0f,0x01,0x40,0x04] 74687f4a1a4331e40cbba28e829561759d146273840Kevin Enderby sgdtw 4(%eax) 74787f4a1a4331e40cbba28e829561759d146273840Kevin Enderby 74836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: sgdtl 4(%eax) 74987f4a1a4331e40cbba28e829561759d146273840Kevin Enderby// CHECK: encoding: [0x0f,0x01,0x40,0x04] 75087f4a1a4331e40cbba28e829561759d146273840Kevin Enderby sgdt 4(%eax) 75187f4a1a4331e40cbba28e829561759d146273840Kevin Enderby 75236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: sgdtl 4(%eax) 75387f4a1a4331e40cbba28e829561759d146273840Kevin Enderby// CHECK: encoding: [0x0f,0x01,0x40,0x04] 75487f4a1a4331e40cbba28e829561759d146273840Kevin Enderby sgdtl 4(%eax) 75587f4a1a4331e40cbba28e829561759d146273840Kevin Enderby 75687f4a1a4331e40cbba28e829561759d146273840Kevin Enderby// CHECK: sidtw 4(%eax) 75787f4a1a4331e40cbba28e829561759d146273840Kevin Enderby// CHECK: encoding: [0x66,0x0f,0x01,0x48,0x04] 75887f4a1a4331e40cbba28e829561759d146273840Kevin Enderby sidtw 4(%eax) 75987f4a1a4331e40cbba28e829561759d146273840Kevin Enderby 76036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: sidtl 4(%eax) 76187f4a1a4331e40cbba28e829561759d146273840Kevin Enderby// CHECK: encoding: [0x0f,0x01,0x48,0x04] 76287f4a1a4331e40cbba28e829561759d146273840Kevin Enderby sidt 4(%eax) 76387f4a1a4331e40cbba28e829561759d146273840Kevin Enderby 76436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: sidtl 4(%eax) 76587f4a1a4331e40cbba28e829561759d146273840Kevin Enderby// CHECK: encoding: [0x0f,0x01,0x48,0x04] 76687f4a1a4331e40cbba28e829561759d146273840Kevin Enderby sidtl 4(%eax) 76741e8cc73cf570754fffdc6963321c153a8010458Kevin Enderby 768db28788e4ae01c3fa8003773fc236768e87f6917Chris Lattner// CHECK: fcompi %st(2) 76941e8cc73cf570754fffdc6963321c153a8010458Kevin Enderby// CHECK: encoding: [0xdf,0xf2] 770db28788e4ae01c3fa8003773fc236768e87f6917Chris Lattner fcompi %st(2), %st 77141e8cc73cf570754fffdc6963321c153a8010458Kevin Enderby 772db28788e4ae01c3fa8003773fc236768e87f6917Chris Lattner// CHECK: fcompi %st(2) 77341e8cc73cf570754fffdc6963321c153a8010458Kevin Enderby// CHECK: encoding: [0xdf,0xf2] 77441e8cc73cf570754fffdc6963321c153a8010458Kevin Enderby fcompi %st(2) 77541e8cc73cf570754fffdc6963321c153a8010458Kevin Enderby 776c6df9883da99915d1cfa491b381ffa703c61ed90Bill Wendling// CHECK: fcompi 77741e8cc73cf570754fffdc6963321c153a8010458Kevin Enderby// CHECK: encoding: [0xdf,0xf1] 77841e8cc73cf570754fffdc6963321c153a8010458Kevin Enderby fcompi 77941e8cc73cf570754fffdc6963321c153a8010458Kevin Enderby 780db28788e4ae01c3fa8003773fc236768e87f6917Chris Lattner// CHECK: fucompi %st(2) 78141e8cc73cf570754fffdc6963321c153a8010458Kevin Enderby// CHECK: encoding: [0xdf,0xea] 78241e8cc73cf570754fffdc6963321c153a8010458Kevin Enderby fucompi %st(2),%st 78341e8cc73cf570754fffdc6963321c153a8010458Kevin Enderby 784db28788e4ae01c3fa8003773fc236768e87f6917Chris Lattner// CHECK: fucompi %st(2) 78541e8cc73cf570754fffdc6963321c153a8010458Kevin Enderby// CHECK: encoding: [0xdf,0xea] 78641e8cc73cf570754fffdc6963321c153a8010458Kevin Enderby fucompi %st(2) 78741e8cc73cf570754fffdc6963321c153a8010458Kevin Enderby 788c6df9883da99915d1cfa491b381ffa703c61ed90Bill Wendling// CHECK: fucompi 78941e8cc73cf570754fffdc6963321c153a8010458Kevin Enderby// CHECK: encoding: [0xdf,0xe9] 79041e8cc73cf570754fffdc6963321c153a8010458Kevin Enderby fucompi 791f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby 792f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby// CHECK: fldcw 32493 793f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby// CHECK: encoding: [0xd9,0x2d,0xed,0x7e,0x00,0x00] 794f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby fldcww 0x7eed 795f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby 796f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby// CHECK: fldcw 32493 797f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby// CHECK: encoding: [0xd9,0x2d,0xed,0x7e,0x00,0x00] 798f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby fldcw 0x7eed 799f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby 800f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby// CHECK: fnstcw 32493 801f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby// CHECK: encoding: [0xd9,0x3d,0xed,0x7e,0x00,0x00] 802f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby fnstcww 0x7eed 803f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby 804f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby// CHECK: fnstcw 32493 805f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby// CHECK: encoding: [0xd9,0x3d,0xed,0x7e,0x00,0x00] 806f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby fnstcw 0x7eed 807f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby 808f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby// CHECK: wait 809f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby// CHECK: encoding: [0x9b] 810f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby fstcww 0x7eed 811f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby 812f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby// CHECK: wait 813f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby// CHECK: encoding: [0x9b] 814f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby fstcw 0x7eed 815f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby 816f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby// CHECK: fnstsw 32493 817f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby// CHECK: encoding: [0xdd,0x3d,0xed,0x7e,0x00,0x00] 818f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby fnstsww 0x7eed 819f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby 820f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby// CHECK: fnstsw 32493 821f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby// CHECK: encoding: [0xdd,0x3d,0xed,0x7e,0x00,0x00] 822f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby fnstsw 0x7eed 823f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby 824f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby// CHECK: wait 825f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby// CHECK: encoding: [0x9b] 826f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby fstsww 0x7eed 827f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby 828f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby// CHECK: wait 829f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby// CHECK: encoding: [0x9b] 830f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby fstsw 0x7eed 831f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby 832f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby// CHECK: verr 32493 833f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby// CHECK: encoding: [0x0f,0x00,0x25,0xed,0x7e,0x00,0x00] 834f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby verrw 0x7eed 835f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby 836f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby// CHECK: verr 32493 837f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby// CHECK: encoding: [0x0f,0x00,0x25,0xed,0x7e,0x00,0x00] 838f4630ecc3f2b80440b2d9e59add56a3b422de684Kevin Enderby verr 0x7eed 8395a378076a44ef3f507b91aa8e7715fabaec42074Kevin Enderby 8405a378076a44ef3f507b91aa8e7715fabaec42074Kevin Enderby// CHECK: wait 8415a378076a44ef3f507b91aa8e7715fabaec42074Kevin Enderby// CHECK: encoding: [0x9b] 8425a378076a44ef3f507b91aa8e7715fabaec42074Kevin Enderby fclex 8435a378076a44ef3f507b91aa8e7715fabaec42074Kevin Enderby 8445a378076a44ef3f507b91aa8e7715fabaec42074Kevin Enderby// CHECK: fnclex 8455a378076a44ef3f507b91aa8e7715fabaec42074Kevin Enderby// CHECK: encoding: [0xdb,0xe2] 8465a378076a44ef3f507b91aa8e7715fabaec42074Kevin Enderby fnclex 847e460890351ed36fa518960a417d85964c2b29eeeKevin Enderby 848e460890351ed36fa518960a417d85964c2b29eeeKevin Enderby// CHECK: ud2 849e460890351ed36fa518960a417d85964c2b29eeeKevin Enderby// CHECK: encoding: [0x0f,0x0b] 850905b8f76142b43cd33c36c554d359ee8740f51d5Chris Lattner ud2 851905b8f76142b43cd33c36c554d359ee8740f51d5Chris Lattner 852905b8f76142b43cd33c36c554d359ee8740f51d5Chris Lattner// CHECK: ud2 853905b8f76142b43cd33c36c554d359ee8740f51d5Chris Lattner// CHECK: encoding: [0x0f,0x0b] 854e460890351ed36fa518960a417d85964c2b29eeeKevin Enderby ud2a 855529b1a43986265fb399eecd0dcbf9c409d049853Kevin Enderby 856529b1a43986265fb399eecd0dcbf9c409d049853Kevin Enderby// CHECK: ud2b 857529b1a43986265fb399eecd0dcbf9c409d049853Kevin Enderby// CHECK: encoding: [0x0f,0xb9] 858529b1a43986265fb399eecd0dcbf9c409d049853Kevin Enderby ud2b 859d86f482e4a9d71596e4f81afb0f7912ab3e40a7fJoerg Sonnenberger 860d86f482e4a9d71596e4f81afb0f7912ab3e40a7fJoerg Sonnenberger// CHECK: loope 0 861d86f482e4a9d71596e4f81afb0f7912ab3e40a7fJoerg Sonnenberger// CHECK: encoding: [0xe1,A] 862d86f482e4a9d71596e4f81afb0f7912ab3e40a7fJoerg Sonnenberger loopz 0 863d86f482e4a9d71596e4f81afb0f7912ab3e40a7fJoerg Sonnenberger 864d86f482e4a9d71596e4f81afb0f7912ab3e40a7fJoerg Sonnenberger// CHECK: loopne 0 865d86f482e4a9d71596e4f81afb0f7912ab3e40a7fJoerg Sonnenberger// CHECK: encoding: [0xe0,A] 866d86f482e4a9d71596e4f81afb0f7912ab3e40a7fJoerg Sonnenberger loopnz 0 867ac39bd534be9a8022c09cc8be81db2de109baecbEli Friedman 86836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: outsb (%esi), %dx # encoding: [0x6e] 86996622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: outsb 87096622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: outsb 87196622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger outsb 87296622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger outsb %ds:(%esi), %dx 87396622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger outsb (%esi), %dx 87496622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger 87536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: outsw (%esi), %dx # encoding: [0x66,0x6f] 87696622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: outsw 87796622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: outsw 87896622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger outsw 87996622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger outsw %ds:(%esi), %dx 88096622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger outsw (%esi), %dx 88196622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger 88236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: outsl (%esi), %dx # encoding: [0x6f] 88396622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: outsl 88496622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger outsl 88596622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger outsl %ds:(%esi), %dx 88696622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger outsl (%esi), %dx 88796622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger 88836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: insb %dx, %es:(%edi) # encoding: [0x6c] 88996622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: insb 89096622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger insb 89196622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger insb %dx, %es:(%edi) 89296622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger 89336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: insw %dx, %es:(%edi) # encoding: [0x66,0x6d] 89496622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: insw 89596622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger insw 89696622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger insw %dx, %es:(%edi) 89796622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger 89836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: insl %dx, %es:(%edi) # encoding: [0x6d] 89996622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: insl 90096622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger insl 90196622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger insl %dx, %es:(%edi) 90296622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger 90336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: movsb (%esi), %es:(%edi) # encoding: [0xa4] 90496622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: movsb 90596622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: movsb 90696622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger movsb 90796622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger movsb %ds:(%esi), %es:(%edi) 90896622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger movsb (%esi), %es:(%edi) 90996622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger 91036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: movsw (%esi), %es:(%edi) # encoding: [0x66,0xa5] 91196622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: movsw 91296622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: movsw 91396622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger movsw 91496622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger movsw %ds:(%esi), %es:(%edi) 91596622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger movsw (%esi), %es:(%edi) 91696622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger 91736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: movsl (%esi), %es:(%edi) # encoding: [0xa5] 9189b8b830f3fa6dca2275dcd86bdaf0d78ab1651a1Craig Topper// CHECK: movsl 9199b8b830f3fa6dca2275dcd86bdaf0d78ab1651a1Craig Topper// CHECK: movsl 92096622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger movsl 92196622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger movsl %ds:(%esi), %es:(%edi) 92296622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger movsl (%esi), %es:(%edi) 92396622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger 92436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: lodsb (%esi), %al # encoding: [0xac] 92596622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: lodsb 92696622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: lodsb 92796622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: lodsb 92896622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: lodsb 92996622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger lodsb 93096622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger lodsb %ds:(%esi), %al 93196622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger lodsb (%esi), %al 93296622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger lods %ds:(%esi), %al 93396622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger lods (%esi), %al 93496622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger 93536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: lodsw (%esi), %ax # encoding: [0x66,0xad] 93696622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: lodsw 93796622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: lodsw 93896622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: lodsw 93996622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: lodsw 94096622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger lodsw 94196622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger lodsw %ds:(%esi), %ax 94296622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger lodsw (%esi), %ax 94396622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger lods %ds:(%esi), %ax 94496622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger lods (%esi), %ax 94596622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger 94636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: lodsl (%esi), %eax # encoding: [0xad] 94796622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: lodsl 94896622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: lodsl 94996622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: lodsl 95096622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: lodsl 95196622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger lodsl 95296622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger lodsl %ds:(%esi), %eax 95396622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger lodsl (%esi), %eax 95496622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger lods %ds:(%esi), %eax 95596622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger lods (%esi), %eax 95696622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger 95736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: stosb %al, %es:(%edi) # encoding: [0xaa] 95896622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: stosb 95996622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: stosb 96096622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger stosb 96196622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger stosb %al, %es:(%edi) 96296622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger stos %al, %es:(%edi) 96396622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger 96436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: stosw %ax, %es:(%edi) # encoding: [0x66,0xab] 96596622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: stosw 96696622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: stosw 96796622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger stosw 96896622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger stosw %ax, %es:(%edi) 96996622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger stos %ax, %es:(%edi) 97096622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger 97136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: stosl %eax, %es:(%edi) # encoding: [0xab] 97296622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: stosl 97396622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: stosl 97496622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger stosl 97596622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger stosl %eax, %es:(%edi) 97696622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger stos %eax, %es:(%edi) 97796622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger 978ac39bd534be9a8022c09cc8be81db2de109baecbEli Friedman// CHECK: strw 979ac39bd534be9a8022c09cc8be81db2de109baecbEli Friedman// CHECK: encoding: [0x66,0x0f,0x00,0xc8] 980ac39bd534be9a8022c09cc8be81db2de109baecbEli Friedman str %ax 981ac39bd534be9a8022c09cc8be81db2de109baecbEli Friedman 982ac39bd534be9a8022c09cc8be81db2de109baecbEli Friedman// CHECK: strl 983ac39bd534be9a8022c09cc8be81db2de109baecbEli Friedman// CHECK: encoding: [0x0f,0x00,0xc8] 984ac39bd534be9a8022c09cc8be81db2de109baecbEli Friedman str %eax 985b8a21ad91556903d055bb1de47f75655ca4e9ba6Chris Lattner 986b8a21ad91556903d055bb1de47f75655ca4e9ba6Chris Lattner 987b8a21ad91556903d055bb1de47f75655ca4e9ba6Chris Lattner// PR9378 988b8a21ad91556903d055bb1de47f75655ca4e9ba6Chris Lattner// CHECK: fsubp 989b8a21ad91556903d055bb1de47f75655ca4e9ba6Chris Lattner// CHECK: encoding: [0xde,0xe1] 990b8a21ad91556903d055bb1de47f75655ca4e9ba6Chris Lattnerfsubp %st,%st(1) 991d521d8bf923b2f4b3e44a4ae2ebd0dcb59d7b23bChris Lattner 992d521d8bf923b2f4b3e44a4ae2ebd0dcb59d7b23bChris Lattner// PR9164 993d521d8bf923b2f4b3e44a4ae2ebd0dcb59d7b23bChris Lattner// CHECK: fsubp %st(2) 994d521d8bf923b2f4b3e44a4ae2ebd0dcb59d7b23bChris Lattner// CHECK: encoding: [0xde,0xe2] 995d521d8bf923b2f4b3e44a4ae2ebd0dcb59d7b23bChris Lattnerfsubp %st, %st(2) 996d521d8bf923b2f4b3e44a4ae2ebd0dcb59d7b23bChris Lattner 9977ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topper// PR10345 9987ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topper// CHECK: xchgl %eax, %eax 99925f6dfd108801d1dc5877c420ef0dd47131aeda7Craig Topper// CHECK: encoding: [0x90] 10007ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topperxchgl %eax, %eax 10017ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topper 10027ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topper// CHECK: xchgw %ax, %ax 100325f6dfd108801d1dc5877c420ef0dd47131aeda7Craig Topper// CHECK: encoding: [0x66,0x90] 10047ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topperxchgw %ax, %ax 10057ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topper 10067ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topper// CHECK: xchgl %ecx, %eax 10077ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topper// CHECK: encoding: [0x91] 10087ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topperxchgl %ecx, %eax 10097ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topper 10107ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topper// CHECK: xchgl %ecx, %eax 10117ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topper// CHECK: encoding: [0x91] 10127ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topperxchgl %eax, %ecx 10130d82fe77f2b6f48b5fab131c1671169d154f8c69Charles Davis 10140d82fe77f2b6f48b5fab131c1671169d154f8c69Charles Davis// CHECK: retw 10150d82fe77f2b6f48b5fab131c1671169d154f8c69Charles Davis// CHECK: encoding: [0x66,0xc3] 10160d82fe77f2b6f48b5fab131c1671169d154f8c69Charles Davisretw 10170d82fe77f2b6f48b5fab131c1671169d154f8c69Charles Davis 10180d82fe77f2b6f48b5fab131c1671169d154f8c69Charles Davis// CHECK: lretw 10190d82fe77f2b6f48b5fab131c1671169d154f8c69Charles Davis// CHECK: encoding: [0x66,0xcb] 10200d82fe77f2b6f48b5fab131c1671169d154f8c69Charles Davislretw 1021