1 // RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s 2 3 // PR7195 4 // CHECK: callw 42 5 // CHECK: encoding: [0x66,0xe8,A,A] 6 callw 42 7 8 // rdar://8127102 9 // CHECK: movq %gs:(%rdi), %rax 10 // CHECK: encoding: [0x65,0x48,0x8b,0x07] 11 movq %gs:(%rdi), %rax 12 13 // CHECK: crc32b %bl, %eax 14 // CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0xc3] 15 crc32b %bl, %eax 16 17 // CHECK: crc32b 4(%rbx), %eax 18 // CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0x43,0x04] 19 crc32b 4(%rbx), %eax 20 21 // CHECK: crc32w %bx, %eax 22 // CHECK: encoding: [0x66,0xf2,0x0f,0x38,0xf1,0xc3] 23 crc32w %bx, %eax 24 25 // CHECK: crc32w 4(%rbx), %eax 26 // CHECK: encoding: [0x66,0xf2,0x0f,0x38,0xf1,0x43,0x04] 27 crc32w 4(%rbx), %eax 28 29 // CHECK: crc32l %ebx, %eax 30 // CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0xc3] 31 crc32l %ebx, %eax 32 33 // CHECK: crc32l 4(%rbx), %eax 34 // CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x43,0x04] 35 crc32l 4(%rbx), %eax 36 37 // CHECK: crc32l 3735928559(%rbx,%rcx,8), %ecx 38 // CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x8c,0xcb,0xef,0xbe,0xad,0xde] 39 crc32l 0xdeadbeef(%rbx,%rcx,8),%ecx 40 41 // CHECK: crc32l 69, %ecx 42 // CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x0c,0x25,0x45,0x00,0x00,0x00] 43 crc32l 0x45,%ecx 44 45 // CHECK: crc32l 32493, %ecx 46 // CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x0c,0x25,0xed,0x7e,0x00,0x00] 47 crc32l 0x7eed,%ecx 48 49 // CHECK: crc32l 3133065982, %ecx 50 // CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x0c,0x25,0xfe,0xca,0xbe,0xba] 51 crc32l 0xbabecafe,%ecx 52 53 // CHECK: crc32l %ecx, %ecx 54 // CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0xc9] 55 crc32l %ecx,%ecx 56 57 // CHECK: crc32b %r11b, %eax 58 // CHECK: encoding: [0xf2,0x41,0x0f,0x38,0xf0,0xc3] 59 crc32b %r11b, %eax 60 61 // CHECK: crc32b 4(%rbx), %eax 62 // CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0x43,0x04] 63 crc32b 4(%rbx), %eax 64 65 // CHECK: crc32b %dil, %rax 66 // CHECK: encoding: [0xf2,0x48,0x0f,0x38,0xf0,0xc7] 67 crc32b %dil,%rax 68 69 // CHECK: crc32b %r11b, %rax 70 // CHECK: encoding: [0xf2,0x49,0x0f,0x38,0xf0,0xc3] 71 crc32b %r11b,%rax 72 73 // CHECK: crc32b 4(%rbx), %rax 74 // CHECK: encoding: [0xf2,0x48,0x0f,0x38,0xf0,0x43,0x04] 75 crc32b 4(%rbx), %rax 76 77 // CHECK: crc32q %rbx, %rax 78 // CHECK: encoding: [0xf2,0x48,0x0f,0x38,0xf1,0xc3] 79 crc32q %rbx, %rax 80 81 // CHECK: crc32q 4(%rbx), %rax 82 // CHECK: encoding: [0xf2,0x48,0x0f,0x38,0xf1,0x43,0x04] 83 crc32q 4(%rbx), %rax 84 85 // CHECK: movd %r8, %mm1 86 // CHECK: encoding: [0x49,0x0f,0x6e,0xc8] 87 movd %r8, %mm1 88 89 // CHECK: movd %r8d, %mm1 90 // CHECK: encoding: [0x41,0x0f,0x6e,0xc8] 91 movd %r8d, %mm1 92 93 // CHECK: movd %rdx, %mm1 94 // CHECK: encoding: [0x48,0x0f,0x6e,0xca] 95 movd %rdx, %mm1 96 97 // CHECK: movd %edx, %mm1 98 // CHECK: encoding: [0x0f,0x6e,0xca] 99 movd %edx, %mm1 100 101 // CHECK: movd %mm1, %r8 102 // CHECK: encoding: [0x49,0x0f,0x7e,0xc8] 103 movd %mm1, %r8 104 105 // CHECK: movd %mm1, %r8d 106 // CHECK: encoding: [0x41,0x0f,0x7e,0xc8] 107 movd %mm1, %r8d 108 109 // CHECK: movd %mm1, %rdx 110 // CHECK: encoding: [0x48,0x0f,0x7e,0xca] 111 movd %mm1, %rdx 112 113 // CHECK: movd %mm1, %edx 114 // CHECK: encoding: [0x0f,0x7e,0xca] 115 movd %mm1, %edx 116 117 // rdar://7840289 118 // CHECK: pshufb CPI1_0(%rip), %xmm1 119 // CHECK: encoding: [0x66,0x0f,0x38,0x00,0x0d,A,A,A,A] 120 // CHECK: fixup A - offset: 5, value: CPI1_0-4 121 pshufb CPI1_0(%rip), %xmm1 122 123 // CHECK: movq 57005(,%riz), %rbx 124 // CHECK: encoding: [0x48,0x8b,0x1c,0x25,0xad,0xde,0x00,0x00] 125 movq 57005(,%riz), %rbx 126 127 // CHECK: movq 48879(,%riz), %rax 128 // CHECK: encoding: [0x48,0x8b,0x04,0x25,0xef,0xbe,0x00,0x00] 129 movq 48879(,%riz), %rax 130 131 // CHECK: movq -4(,%riz,8), %rax 132 // CHECK: encoding: [0x48,0x8b,0x04,0xe5,0xfc,0xff,0xff,0xff] 133 movq -4(,%riz,8), %rax 134 135 // CHECK: movq (%rcx,%riz), %rax 136 // CHECK: encoding: [0x48,0x8b,0x04,0x21] 137 movq (%rcx,%riz), %rax 138 139 // CHECK: movq (%rcx,%riz,8), %rax 140 // CHECK: encoding: [0x48,0x8b,0x04,0xe1] 141 movq (%rcx,%riz,8), %rax 142 143 // CHECK: fxsaveq (%rax) 144 // CHECK: encoding: [0x48,0x0f,0xae,0x00] 145 fxsaveq (%rax) 146 147 // CHECK: fxrstorq (%rax) 148 // CHECK: encoding: [0x48,0x0f,0xae,0x08] 149 fxrstorq (%rax) 150 151 // CHECK: leave 152 // CHECK: encoding: [0xc9] 153 leave 154 155 // CHECK: leave 156 // CHECK: encoding: [0xc9] 157 leaveq 158 159 // CHECK: flds (%edi) 160 // CHECK: encoding: [0x67,0xd9,0x07] 161 flds (%edi) 162 163 // CHECK: filds (%edi) 164 // CHECK: encoding: [0x67,0xdf,0x07] 165 filds (%edi) 166 167 // CHECK: flds (%rdi) 168 // CHECK: encoding: [0xd9,0x07] 169 flds (%rdi) 170 171 // CHECK: filds (%rdi) 172 // CHECK: encoding: [0xdf,0x07] 173 filds (%rdi) 174