1 // RUN: not llvm-mc -triple x86_64-unknown-unknown --show-encoding %s 2> %t.err | FileCheck --check-prefix=64 %s 2 // RUN: FileCheck --check-prefix=ERR64 < %t.err %s 3 // RUN: not llvm-mc -triple i386-unknown-unknown --show-encoding %s 2> %t.err | FileCheck --check-prefix=32 %s 4 // RUN: FileCheck --check-prefix=ERR32 < %t.err %s 5 // RUN: not llvm-mc -triple i386-unknown-unknown-code16 --show-encoding %s 2> %t.err | FileCheck --check-prefix=16 %s 6 // RUN: FileCheck --check-prefix=ERR16 < %t.err %s 7 8 ret 9 // 64: retq 10 // 64: encoding: [0xc3] 11 // 32: retl 12 // 32: encoding: [0xc3] 13 // 16: retw 14 // 16: encoding: [0xc3] 15 retw 16 // 64: retw 17 // 64: encoding: [0x66,0xc3] 18 // 32: retw 19 // 32: encoding: [0x66,0xc3] 20 // 16: retw 21 // 16: encoding: [0xc3] 22 retl 23 // ERR64: error: instruction requires: Not 64-bit mode 24 // 32: retl 25 // 32: encoding: [0xc3] 26 // 16: retl 27 // 16: encoding: [0x66,0xc3] 28 retq 29 // 64: retq 30 // 64: encoding: [0xc3] 31 // ERR32: error: instruction requires: 64-bit mode 32 // ERR16: error: instruction requires: 64-bit mode 33 34 ret $0 35 // 64: retq $0 36 // 64: encoding: [0xc2,0x00,0x00] 37 // 32: retl $0 38 // 32: encoding: [0xc2,0x00,0x00] 39 // 16: retw $0 40 // 16: encoding: [0xc2,0x00,0x00] 41 retw $0 42 // 64: retw $0 43 // 64: encoding: [0x66,0xc2,0x00,0x00] 44 // 32: retw $0 45 // 32: encoding: [0x66,0xc2,0x00,0x00] 46 // 16: retw $0 47 // 16: encoding: [0xc2,0x00,0x00] 48 retl $0 49 // ERR64: error: instruction requires: Not 64-bit mode 50 // 32: retl $0 51 // 32: encoding: [0xc2,0x00,0x00] 52 // 16: retl $0 53 // 16: encoding: [0x66,0xc2,0x00,0x00] 54 retq $0 55 // 64: retq $0 56 // 64: encoding: [0xc2,0x00,0x00] 57 // ERR32: error: instruction requires: 64-bit mode 58 // ERR16: error: instruction requires: 64-bit mode 59 60 lret 61 // 64: lretl 62 // 64: encoding: [0xcb] 63 // 32: lretl 64 // 32: encoding: [0xcb] 65 // 16: lretw 66 // 16: encoding: [0xcb] 67 lretw 68 // 64: lretw 69 // 64: encoding: [0x66,0xcb] 70 // 32: lretw 71 // 32: encoding: [0x66,0xcb] 72 // 16: lretw 73 // 16: encoding: [0xcb] 74 lretl 75 // 64: lretl 76 // 64: encoding: [0xcb] 77 // 32: lretl 78 // 32: encoding: [0xcb] 79 // 16: lretl 80 // 16: encoding: [0x66,0xcb] 81 lretq 82 // 64: lretq 83 // 64: encoding: [0x48,0xcb] 84 // ERR32: error: instruction requires: 64-bit mode 85 // ERR16: error: instruction requires: 64-bit mode 86 87 lret $0 88 // 64: lretl $0 89 // 64: encoding: [0xca,0x00,0x00] 90 // 32: lretl $0 91 // 32: encoding: [0xca,0x00,0x00] 92 // 16: lretw $0 93 // 16: encoding: [0xca,0x00,0x00] 94 lretw $0 95 // 64: lretw $0 96 // 64: encoding: [0x66,0xca,0x00,0x00] 97 // 32: lretw $0 98 // 32: encoding: [0x66,0xca,0x00,0x00] 99 // 16: lretw $0 100 // 16: encoding: [0xca,0x00,0x00] 101 lretl $0 102 // 64: lretl $0 103 // 64: encoding: [0xca,0x00,0x00] 104 // 32: lretl $0 105 // 32: encoding: [0xca,0x00,0x00] 106 // 16: lretl $0 107 // 16: encoding: [0x66,0xca,0x00,0x00] 108 lretq $0 109 // 64: lretq $0 110 // 64: encoding: [0x48,0xca,0x00,0x00] 111 // ERR32: error: instruction requires: 64-bit mode 112 // ERR16: error: instruction requires: 64-bit mode 113 114 115