325 lines · plain
1// RUN: llvm-mc -triple x86_64-unknown-unknown %s > %t 2> %t.err2// RUN: FileCheck < %t %s3// RUN: FileCheck --check-prefix=CHECK-STDERR < %t.err %s4 5// CHECK: vfcmaddcph %zmm24, %zmm23, %zmm246// CHECK-STDERR: warning: Destination register should be distinct from source registers7 vfcmaddcph %zmm24, %zmm23, %zmm248 9// CHECK: vfcmaddcph {rn-sae}, %zmm24, %zmm23, %zmm2310// CHECK-STDERR: warning: Destination register should be distinct from source registers11 vfcmaddcph {rn-sae}, %zmm24, %zmm23, %zmm2312 13// CHECK: vfcmaddcph %zmm24, %zmm23, %zmm24 {%k7}14// CHECK-STDERR: warning: Destination register should be distinct from source registers15 vfcmaddcph %zmm24, %zmm23, %zmm24 {%k7}16 17// CHECK: vfcmaddcph {rz-sae}, %zmm24, %zmm23, %zmm23 {%k7} {z}18// CHECK-STDERR: warning: Destination register should be distinct from source registers19 vfcmaddcph {rz-sae}, %zmm24, %zmm23, %zmm23 {%k7} {z}20 21// CHECK: vfcmaddcph 268435456(%rbp,%r14,8), %zmm23, %zmm2322// CHECK-STDERR: warning: Destination register should be distinct from source registers23 vfcmaddcph 268435456(%rbp,%r14,8), %zmm23, %zmm2324 25// CHECK: vfcmaddcph 291(%r8,%rax,4), %zmm23, %zmm23 {%k7}26// CHECK-STDERR: warning: Destination register should be distinct from source registers27 vfcmaddcph 291(%r8,%rax,4), %zmm23, %zmm23 {%k7}28 29// CHECK: vfcmaddcph (%rip){1to16}, %zmm23, %zmm2330// CHECK-STDERR: warning: Destination register should be distinct from source registers31 vfcmaddcph (%rip){1to16}, %zmm23, %zmm2332 33// CHECK: vfcmaddcph -2048(,%rbp,2), %zmm23, %zmm2334// CHECK-STDERR: warning: Destination register should be distinct from source registers35 vfcmaddcph -2048(,%rbp,2), %zmm23, %zmm2336 37// CHECK: vfcmaddcph 8128(%rcx), %zmm23, %zmm23 {%k7} {z}38// CHECK-STDERR: warning: Destination register should be distinct from source registers39 vfcmaddcph 8128(%rcx), %zmm23, %zmm23 {%k7} {z}40 41// CHECK: vfcmaddcph -512(%rdx){1to16}, %zmm23, %zmm23 {%k7} {z}42// CHECK-STDERR: warning: Destination register should be distinct from source registers43 vfcmaddcph -512(%rdx){1to16}, %zmm23, %zmm23 {%k7} {z}44 45// CHECK: vfcmaddcsh %xmm24, %xmm23, %xmm2446// CHECK-STDERR: warning: Destination register should be distinct from source registers47 vfcmaddcsh %xmm24, %xmm23, %xmm2448 49// CHECK: vfcmaddcsh {rn-sae}, %xmm24, %xmm23, %xmm2350// CHECK-STDERR: warning: Destination register should be distinct from source registers51 vfcmaddcsh {rn-sae}, %xmm24, %xmm23, %xmm2352 53// CHECK: vfcmaddcsh %xmm24, %xmm23, %xmm24 {%k7}54// CHECK-STDERR: warning: Destination register should be distinct from source registers55 vfcmaddcsh %xmm24, %xmm23, %xmm24 {%k7}56 57// CHECK: vfcmaddcsh {rz-sae}, %xmm24, %xmm23, %xmm23 {%k7} {z}58// CHECK-STDERR: warning: Destination register should be distinct from source registers59 vfcmaddcsh {rz-sae}, %xmm24, %xmm23, %xmm23 {%k7} {z}60 61// CHECK: vfcmaddcsh 268435456(%rbp,%r14,8), %xmm23, %xmm2362// CHECK-STDERR: warning: Destination register should be distinct from source registers63 vfcmaddcsh 268435456(%rbp,%r14,8), %xmm23, %xmm2364 65// CHECK: vfcmaddcsh 291(%r8,%rax,4), %xmm23, %xmm23 {%k7}66// CHECK-STDERR: warning: Destination register should be distinct from source registers67 vfcmaddcsh 291(%r8,%rax,4), %xmm23, %xmm23 {%k7}68 69// CHECK: vfcmaddcsh (%rip), %xmm23, %xmm2370// CHECK-STDERR: warning: Destination register should be distinct from source registers71 vfcmaddcsh (%rip), %xmm23, %xmm2372 73// CHECK: vfcmaddcsh -128(,%rbp,2), %xmm23, %xmm2374// CHECK-STDERR: warning: Destination register should be distinct from source registers75 vfcmaddcsh -128(,%rbp,2), %xmm23, %xmm2376 77// CHECK: vfcmaddcsh 508(%rcx), %xmm23, %xmm23 {%k7} {z}78// CHECK-STDERR: warning: Destination register should be distinct from source registers79 vfcmaddcsh 508(%rcx), %xmm23, %xmm23 {%k7} {z}80 81// CHECK: vfcmaddcsh -512(%rdx), %xmm23, %xmm23 {%k7} {z}82// CHECK-STDERR: warning: Destination register should be distinct from source registers83 vfcmaddcsh -512(%rdx), %xmm23, %xmm23 {%k7} {z}84 85// CHECK: vfcmulcph %zmm24, %zmm23, %zmm2486// CHECK-STDERR: warning: Destination register should be distinct from source registers87 vfcmulcph %zmm24, %zmm23, %zmm2488 89// CHECK: vfcmulcph {rn-sae}, %zmm24, %zmm23, %zmm2390// CHECK-STDERR: warning: Destination register should be distinct from source registers91 vfcmulcph {rn-sae}, %zmm24, %zmm23, %zmm2392 93// CHECK: vfcmulcph %zmm24, %zmm23, %zmm24 {%k7}94// CHECK-STDERR: warning: Destination register should be distinct from source registers95 vfcmulcph %zmm24, %zmm23, %zmm24 {%k7}96 97// CHECK: vfcmulcph {rz-sae}, %zmm24, %zmm23, %zmm23 {%k7} {z}98// CHECK-STDERR: warning: Destination register should be distinct from source registers99 vfcmulcph {rz-sae}, %zmm24, %zmm23, %zmm23 {%k7} {z}100 101// CHECK: vfcmulcph 268435456(%rbp,%r14,8), %zmm23, %zmm23102// CHECK-STDERR: warning: Destination register should be distinct from source registers103 vfcmulcph 268435456(%rbp,%r14,8), %zmm23, %zmm23104 105// CHECK: vfcmulcph 291(%r8,%rax,4), %zmm23, %zmm23 {%k7}106// CHECK-STDERR: warning: Destination register should be distinct from source registers107 vfcmulcph 291(%r8,%rax,4), %zmm23, %zmm23 {%k7}108 109// CHECK: vfcmulcph (%rip){1to16}, %zmm23, %zmm23110// CHECK-STDERR: warning: Destination register should be distinct from source registers111 vfcmulcph (%rip){1to16}, %zmm23, %zmm23112 113// CHECK: vfcmulcph -2048(,%rbp,2), %zmm23, %zmm23114// CHECK-STDERR: warning: Destination register should be distinct from source registers115 vfcmulcph -2048(,%rbp,2), %zmm23, %zmm23116 117// CHECK: vfcmulcph 8128(%rcx), %zmm23, %zmm23 {%k7} {z}118// CHECK-STDERR: warning: Destination register should be distinct from source registers119 vfcmulcph 8128(%rcx), %zmm23, %zmm23 {%k7} {z}120 121// CHECK: vfcmulcph -512(%rdx){1to16}, %zmm23, %zmm23 {%k7} {z}122// CHECK-STDERR: warning: Destination register should be distinct from source registers123 vfcmulcph -512(%rdx){1to16}, %zmm23, %zmm23 {%k7} {z}124 125// CHECK: vfcmulcsh %xmm24, %xmm23, %xmm24126// CHECK-STDERR: warning: Destination register should be distinct from source registers127 vfcmulcsh %xmm24, %xmm23, %xmm24128 129// CHECK: vfcmulcsh {rn-sae}, %xmm24, %xmm23, %xmm23130// CHECK-STDERR: warning: Destination register should be distinct from source registers131 vfcmulcsh {rn-sae}, %xmm24, %xmm23, %xmm23132 133// CHECK: vfcmulcsh %xmm24, %xmm23, %xmm24 {%k7}134// CHECK-STDERR: warning: Destination register should be distinct from source registers135 vfcmulcsh %xmm24, %xmm23, %xmm24 {%k7}136 137// CHECK: vfcmulcsh {rz-sae}, %xmm24, %xmm23, %xmm23 {%k7} {z}138// CHECK-STDERR: warning: Destination register should be distinct from source registers139 vfcmulcsh {rz-sae}, %xmm24, %xmm23, %xmm23 {%k7} {z}140 141// CHECK: vfcmulcsh 268435456(%rbp,%r14,8), %xmm23, %xmm23142// CHECK-STDERR: warning: Destination register should be distinct from source registers143 vfcmulcsh 268435456(%rbp,%r14,8), %xmm23, %xmm23144 145// CHECK: vfcmulcsh 291(%r8,%rax,4), %xmm23, %xmm23 {%k7}146// CHECK-STDERR: warning: Destination register should be distinct from source registers147 vfcmulcsh 291(%r8,%rax,4), %xmm23, %xmm23 {%k7}148 149// CHECK: vfcmulcsh (%rip), %xmm23, %xmm23150// CHECK-STDERR: warning: Destination register should be distinct from source registers151 vfcmulcsh (%rip), %xmm23, %xmm23152 153// CHECK: vfcmulcsh -128(,%rbp,2), %xmm23, %xmm23154// CHECK-STDERR: warning: Destination register should be distinct from source registers155 vfcmulcsh -128(,%rbp,2), %xmm23, %xmm23156 157// CHECK: vfcmulcsh 508(%rcx), %xmm23, %xmm23 {%k7} {z}158// CHECK-STDERR: warning: Destination register should be distinct from source registers159 vfcmulcsh 508(%rcx), %xmm23, %xmm23 {%k7} {z}160 161// CHECK: vfcmulcsh -512(%rdx), %xmm23, %xmm23 {%k7} {z}162// CHECK-STDERR: warning: Destination register should be distinct from source registers163 vfcmulcsh -512(%rdx), %xmm23, %xmm23 {%k7} {z}164 165// CHECK: vfmaddcph %zmm24, %zmm23, %zmm24166// CHECK-STDERR: warning: Destination register should be distinct from source registers167 vfmaddcph %zmm24, %zmm23, %zmm24168 169// CHECK: vfmaddcph {rn-sae}, %zmm24, %zmm23, %zmm23170// CHECK-STDERR: warning: Destination register should be distinct from source registers171 vfmaddcph {rn-sae}, %zmm24, %zmm23, %zmm23172 173// CHECK: vfmaddcph %zmm24, %zmm23, %zmm24 {%k7}174// CHECK-STDERR: warning: Destination register should be distinct from source registers175 vfmaddcph %zmm24, %zmm23, %zmm24 {%k7}176 177// CHECK: vfmaddcph {rz-sae}, %zmm24, %zmm23, %zmm23 {%k7} {z}178// CHECK-STDERR: warning: Destination register should be distinct from source registers179 vfmaddcph {rz-sae}, %zmm24, %zmm23, %zmm23 {%k7} {z}180 181// CHECK: vfmaddcph 268435456(%rbp,%r14,8), %zmm23, %zmm23182// CHECK-STDERR: warning: Destination register should be distinct from source registers183 vfmaddcph 268435456(%rbp,%r14,8), %zmm23, %zmm23184 185// CHECK: vfmaddcph 291(%r8,%rax,4), %zmm23, %zmm23 {%k7}186// CHECK-STDERR: warning: Destination register should be distinct from source registers187 vfmaddcph 291(%r8,%rax,4), %zmm23, %zmm23 {%k7}188 189// CHECK: vfmaddcph (%rip){1to16}, %zmm23, %zmm23190// CHECK-STDERR: warning: Destination register should be distinct from source registers191 vfmaddcph (%rip){1to16}, %zmm23, %zmm23192 193// CHECK: vfmaddcph -2048(,%rbp,2), %zmm23, %zmm23194// CHECK-STDERR: warning: Destination register should be distinct from source registers195 vfmaddcph -2048(,%rbp,2), %zmm23, %zmm23196 197// CHECK: vfmaddcph 8128(%rcx), %zmm23, %zmm23 {%k7} {z}198// CHECK-STDERR: warning: Destination register should be distinct from source registers199 vfmaddcph 8128(%rcx), %zmm23, %zmm23 {%k7} {z}200 201// CHECK: vfmaddcph -512(%rdx){1to16}, %zmm23, %zmm23 {%k7} {z}202// CHECK-STDERR: warning: Destination register should be distinct from source registers203 vfmaddcph -512(%rdx){1to16}, %zmm23, %zmm23 {%k7} {z}204 205// CHECK: vfmaddcsh %xmm24, %xmm23, %xmm24206// CHECK-STDERR: warning: Destination register should be distinct from source registers207 vfmaddcsh %xmm24, %xmm23, %xmm24208 209// CHECK: vfmaddcsh {rn-sae}, %xmm24, %xmm23, %xmm23210// CHECK-STDERR: warning: Destination register should be distinct from source registers211 vfmaddcsh {rn-sae}, %xmm24, %xmm23, %xmm23212 213// CHECK: vfmaddcsh %xmm24, %xmm23, %xmm24 {%k7}214// CHECK-STDERR: warning: Destination register should be distinct from source registers215 vfmaddcsh %xmm24, %xmm23, %xmm24 {%k7}216 217// CHECK: vfmaddcsh {rz-sae}, %xmm24, %xmm23, %xmm23 {%k7} {z}218// CHECK-STDERR: warning: Destination register should be distinct from source registers219 vfmaddcsh {rz-sae}, %xmm24, %xmm23, %xmm23 {%k7} {z}220 221// CHECK: vfmaddcsh 268435456(%rbp,%r14,8), %xmm23, %xmm23222// CHECK-STDERR: warning: Destination register should be distinct from source registers223 vfmaddcsh 268435456(%rbp,%r14,8), %xmm23, %xmm23224 225// CHECK: vfmaddcsh 291(%r8,%rax,4), %xmm23, %xmm23 {%k7}226// CHECK-STDERR: warning: Destination register should be distinct from source registers227 vfmaddcsh 291(%r8,%rax,4), %xmm23, %xmm23 {%k7}228 229// CHECK: vfmaddcsh (%rip), %xmm23, %xmm23230// CHECK-STDERR: warning: Destination register should be distinct from source registers231 vfmaddcsh (%rip), %xmm23, %xmm23232 233// CHECK: vfmaddcsh -128(,%rbp,2), %xmm23, %xmm23234// CHECK-STDERR: warning: Destination register should be distinct from source registers235 vfmaddcsh -128(,%rbp,2), %xmm23, %xmm23236 237// CHECK: vfmaddcsh 508(%rcx), %xmm23, %xmm23 {%k7} {z}238// CHECK-STDERR: warning: Destination register should be distinct from source registers239 vfmaddcsh 508(%rcx), %xmm23, %xmm23 {%k7} {z}240 241// CHECK: vfmaddcsh -512(%rdx), %xmm23, %xmm23 {%k7} {z}242// CHECK-STDERR: warning: Destination register should be distinct from source registers243 vfmaddcsh -512(%rdx), %xmm23, %xmm23 {%k7} {z}244 245// CHECK: vfmulcph %zmm24, %zmm23, %zmm24246// CHECK-STDERR: warning: Destination register should be distinct from source registers247 vfmulcph %zmm24, %zmm23, %zmm24248 249// CHECK: vfmulcph {rn-sae}, %zmm24, %zmm23, %zmm23250// CHECK-STDERR: warning: Destination register should be distinct from source registers251 vfmulcph {rn-sae}, %zmm24, %zmm23, %zmm23252 253// CHECK: vfmulcph %zmm24, %zmm23, %zmm24 {%k7}254// CHECK-STDERR: warning: Destination register should be distinct from source registers255 vfmulcph %zmm24, %zmm23, %zmm24 {%k7}256 257// CHECK: vfmulcph {rz-sae}, %zmm24, %zmm23, %zmm23 {%k7} {z}258// CHECK-STDERR: warning: Destination register should be distinct from source registers259 vfmulcph {rz-sae}, %zmm24, %zmm23, %zmm23 {%k7} {z}260 261// CHECK: vfmulcph 268435456(%rbp,%r14,8), %zmm23, %zmm23262// CHECK-STDERR: warning: Destination register should be distinct from source registers263 vfmulcph 268435456(%rbp,%r14,8), %zmm23, %zmm23264 265// CHECK: vfmulcph 291(%r8,%rax,4), %zmm23, %zmm23 {%k7}266// CHECK-STDERR: warning: Destination register should be distinct from source registers267 vfmulcph 291(%r8,%rax,4), %zmm23, %zmm23 {%k7}268 269// CHECK: vfmulcph (%rip){1to16}, %zmm23, %zmm23270// CHECK-STDERR: warning: Destination register should be distinct from source registers271 vfmulcph (%rip){1to16}, %zmm23, %zmm23272 273// CHECK: vfmulcph -2048(,%rbp,2), %zmm23, %zmm23274// CHECK-STDERR: warning: Destination register should be distinct from source registers275 vfmulcph -2048(,%rbp,2), %zmm23, %zmm23276 277// CHECK: vfmulcph 8128(%rcx), %zmm23, %zmm23 {%k7} {z}278// CHECK-STDERR: warning: Destination register should be distinct from source registers279 vfmulcph 8128(%rcx), %zmm23, %zmm23 {%k7} {z}280 281// CHECK: vfmulcph -512(%rdx){1to16}, %zmm23, %zmm23 {%k7} {z}282// CHECK-STDERR: warning: Destination register should be distinct from source registers283 vfmulcph -512(%rdx){1to16}, %zmm23, %zmm23 {%k7} {z}284 285// CHECK: vfmulcsh %xmm24, %xmm23, %xmm24286// CHECK-STDERR: warning: Destination register should be distinct from source registers287 vfmulcsh %xmm24, %xmm23, %xmm24288 289// CHECK: vfmulcsh {rn-sae}, %xmm24, %xmm23, %xmm23290// CHECK-STDERR: warning: Destination register should be distinct from source registers291 vfmulcsh {rn-sae}, %xmm24, %xmm23, %xmm23292 293// CHECK: vfmulcsh %xmm24, %xmm23, %xmm24 {%k7}294// CHECK-STDERR: warning: Destination register should be distinct from source registers295 vfmulcsh %xmm24, %xmm23, %xmm24 {%k7}296 297// CHECK: vfmulcsh {rz-sae}, %xmm24, %xmm23, %xmm23 {%k7} {z}298// CHECK-STDERR: warning: Destination register should be distinct from source registers299 vfmulcsh {rz-sae}, %xmm24, %xmm23, %xmm23 {%k7} {z}300 301// CHECK: vfmulcsh 268435456(%rbp,%r14,8), %xmm23, %xmm23302// CHECK-STDERR: warning: Destination register should be distinct from source registers303 vfmulcsh 268435456(%rbp,%r14,8), %xmm23, %xmm23304 305// CHECK: vfmulcsh 291(%r8,%rax,4), %xmm23, %xmm23 {%k7}306// CHECK-STDERR: warning: Destination register should be distinct from source registers307 vfmulcsh 291(%r8,%rax,4), %xmm23, %xmm23 {%k7}308 309// CHECK: vfmulcsh (%rip), %xmm23, %xmm23310// CHECK-STDERR: warning: Destination register should be distinct from source registers311 vfmulcsh (%rip), %xmm23, %xmm23312 313// CHECK: vfmulcsh -128(,%rbp,2), %xmm23, %xmm23314// CHECK-STDERR: warning: Destination register should be distinct from source registers315 vfmulcsh -128(,%rbp,2), %xmm23, %xmm23316 317// CHECK: vfmulcsh 508(%rcx), %xmm23, %xmm23 {%k7} {z}318// CHECK-STDERR: warning: Destination register should be distinct from source registers319 vfmulcsh 508(%rcx), %xmm23, %xmm23 {%k7} {z}320 321// CHECK: vfmulcsh -512(%rdx), %xmm23, %xmm23 {%k7} {z}322// CHECK-STDERR: warning: Destination register should be distinct from source registers323 vfmulcsh -512(%rdx), %xmm23, %xmm23 {%k7} {z}324 325