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