Compiler projects using llvm
// RUN: llvm-mc -triple x86_64-unknown-unknown %s > %t 2> %t.err
// RUN: FileCheck < %t %s
// RUN: FileCheck --check-prefix=CHECK-STDERR < %t.err %s

// CHECK: vfcmaddcph %ymm24, %ymm23, %ymm24
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmaddcph %ymm24, %ymm23, %ymm24

// CHECK: vfcmaddcph %ymm24, %ymm23, %ymm23 {%k7}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmaddcph %ymm24, %ymm23, %ymm23 {%k7}

// CHECK: vfcmaddcph %ymm24, %ymm23, %ymm24 {%k7} {z}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmaddcph %ymm24, %ymm23, %ymm24 {%k7} {z}

// CHECK: vfcmaddcph %xmm24, %xmm23, %xmm23
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmaddcph %xmm24, %xmm23, %xmm23

// CHECK: vfcmaddcph %xmm24, %xmm23, %xmm24 {%k7}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmaddcph %xmm24, %xmm23, %xmm24 {%k7}

// CHECK: vfcmaddcph %xmm24, %xmm23, %xmm23 {%k7} {z}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmaddcph %xmm24, %xmm23, %xmm23 {%k7} {z}

// CHECK: vfcmaddcph  268435456(%rbp,%r14,8), %ymm23, %ymm23
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmaddcph  268435456(%rbp,%r14,8), %ymm23, %ymm23

// CHECK: vfcmaddcph  291(%r8,%rax,4), %ymm23, %ymm23 {%k7}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmaddcph  291(%r8,%rax,4), %ymm23, %ymm23 {%k7}

// CHECK: vfcmaddcph  (%rip){1to8}, %ymm23, %ymm23
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmaddcph  (%rip){1to8}, %ymm23, %ymm23

// CHECK: vfcmaddcph  -1024(,%rbp,2), %ymm23, %ymm23
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmaddcph  -1024(,%rbp,2), %ymm23, %ymm23

// CHECK: vfcmaddcph  4064(%rcx), %ymm23, %ymm23 {%k7} {z}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmaddcph  4064(%rcx), %ymm23, %ymm23 {%k7} {z}

// CHECK: vfcmaddcph  -512(%rdx){1to8}, %ymm23, %ymm23 {%k7} {z}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmaddcph  -512(%rdx){1to8}, %ymm23, %ymm23 {%k7} {z}

// CHECK: vfcmaddcph  268435456(%rbp,%r14,8), %xmm23, %xmm23
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmaddcph  268435456(%rbp,%r14,8), %xmm23, %xmm23

// CHECK: vfcmaddcph  291(%r8,%rax,4), %xmm23, %xmm23 {%k7}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmaddcph  291(%r8,%rax,4), %xmm23, %xmm23 {%k7}

// CHECK: vfcmaddcph  (%rip){1to4}, %xmm23, %xmm23
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmaddcph  (%rip){1to4}, %xmm23, %xmm23

// CHECK: vfcmaddcph  -512(,%rbp,2), %xmm23, %xmm23
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmaddcph  -512(,%rbp,2), %xmm23, %xmm23

// CHECK: vfcmaddcph  2032(%rcx), %xmm23, %xmm23 {%k7} {z}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmaddcph  2032(%rcx), %xmm23, %xmm23 {%k7} {z}

// CHECK: vfcmaddcph  -512(%rdx){1to4}, %xmm23, %xmm23 {%k7} {z}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmaddcph  -512(%rdx){1to4}, %xmm23, %xmm23 {%k7} {z}

// CHECK: vfcmulcph %ymm24, %ymm23, %ymm24
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmulcph %ymm24, %ymm23, %ymm24

// CHECK: vfcmulcph %ymm24, %ymm23, %ymm23 {%k7}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmulcph %ymm24, %ymm23, %ymm23 {%k7}

// CHECK: vfcmulcph %ymm24, %ymm23, %ymm24 {%k7} {z}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmulcph %ymm24, %ymm23, %ymm24 {%k7} {z}

// CHECK: vfcmulcph %xmm24, %xmm23, %xmm23
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmulcph %xmm24, %xmm23, %xmm23

// CHECK: vfcmulcph %xmm24, %xmm23, %xmm24 {%k7}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmulcph %xmm24, %xmm23, %xmm24 {%k7}

// CHECK: vfcmulcph %xmm24, %xmm23, %xmm23 {%k7} {z}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmulcph %xmm24, %xmm23, %xmm23 {%k7} {z}

// CHECK: vfcmulcph  268435456(%rbp,%r14,8), %ymm23, %ymm23
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmulcph  268435456(%rbp,%r14,8), %ymm23, %ymm23

// CHECK: vfcmulcph  291(%r8,%rax,4), %ymm23, %ymm23 {%k7}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmulcph  291(%r8,%rax,4), %ymm23, %ymm23 {%k7}

// CHECK: vfcmulcph  (%rip){1to8}, %ymm23, %ymm23
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmulcph  (%rip){1to8}, %ymm23, %ymm23

// CHECK: vfcmulcph  -1024(,%rbp,2), %ymm23, %ymm23
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmulcph  -1024(,%rbp,2), %ymm23, %ymm23

// CHECK: vfcmulcph  4064(%rcx), %ymm23, %ymm23 {%k7} {z}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmulcph  4064(%rcx), %ymm23, %ymm23 {%k7} {z}

// CHECK: vfcmulcph  -512(%rdx){1to8}, %ymm23, %ymm23 {%k7} {z}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmulcph  -512(%rdx){1to8}, %ymm23, %ymm23 {%k7} {z}

// CHECK: vfcmulcph  268435456(%rbp,%r14,8), %xmm23, %xmm23
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmulcph  268435456(%rbp,%r14,8), %xmm23, %xmm23

// CHECK: vfcmulcph  291(%r8,%rax,4), %xmm23, %xmm23 {%k7}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmulcph  291(%r8,%rax,4), %xmm23, %xmm23 {%k7}

// CHECK: vfcmulcph  (%rip){1to4}, %xmm23, %xmm23
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmulcph  (%rip){1to4}, %xmm23, %xmm23

// CHECK: vfcmulcph  -512(,%rbp,2), %xmm23, %xmm23
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmulcph  -512(,%rbp,2), %xmm23, %xmm23

// CHECK: vfcmulcph  2032(%rcx), %xmm23, %xmm23 {%k7} {z}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmulcph  2032(%rcx), %xmm23, %xmm23 {%k7} {z}

// CHECK: vfcmulcph  -512(%rdx){1to4}, %xmm23, %xmm23 {%k7} {z}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfcmulcph  -512(%rdx){1to4}, %xmm23, %xmm23 {%k7} {z}

// CHECK: vfmaddcph %ymm24, %ymm23, %ymm24
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmaddcph %ymm24, %ymm23, %ymm24

// CHECK: vfmaddcph %ymm24, %ymm23, %ymm23 {%k7}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmaddcph %ymm24, %ymm23, %ymm23 {%k7}

// CHECK: vfmaddcph %ymm24, %ymm23, %ymm24 {%k7} {z}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmaddcph %ymm24, %ymm23, %ymm24 {%k7} {z}

// CHECK: vfmaddcph %xmm24, %xmm23, %xmm23
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmaddcph %xmm24, %xmm23, %xmm23

// CHECK: vfmaddcph %xmm24, %xmm23, %xmm24 {%k7}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmaddcph %xmm24, %xmm23, %xmm24 {%k7}

// CHECK: vfmaddcph %xmm24, %xmm23, %xmm23 {%k7} {z}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmaddcph %xmm24, %xmm23, %xmm23 {%k7} {z}

// CHECK: vfmaddcph  268435456(%rbp,%r14,8), %ymm23, %ymm23
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmaddcph  268435456(%rbp,%r14,8), %ymm23, %ymm23

// CHECK: vfmaddcph  291(%r8,%rax,4), %ymm23, %ymm23 {%k7}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmaddcph  291(%r8,%rax,4), %ymm23, %ymm23 {%k7}

// CHECK: vfmaddcph  (%rip){1to8}, %ymm23, %ymm23
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmaddcph  (%rip){1to8}, %ymm23, %ymm23

// CHECK: vfmaddcph  -1024(,%rbp,2), %ymm23, %ymm23
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmaddcph  -1024(,%rbp,2), %ymm23, %ymm23

// CHECK: vfmaddcph  4064(%rcx), %ymm23, %ymm23 {%k7} {z}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmaddcph  4064(%rcx), %ymm23, %ymm23 {%k7} {z}

// CHECK: vfmaddcph  -512(%rdx){1to8}, %ymm23, %ymm23 {%k7} {z}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmaddcph  -512(%rdx){1to8}, %ymm23, %ymm23 {%k7} {z}

// CHECK: vfmaddcph  268435456(%rbp,%r14,8), %xmm23, %xmm23
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmaddcph  268435456(%rbp,%r14,8), %xmm23, %xmm23

// CHECK: vfmaddcph  291(%r8,%rax,4), %xmm23, %xmm23 {%k7}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmaddcph  291(%r8,%rax,4), %xmm23, %xmm23 {%k7}

// CHECK: vfmaddcph  (%rip){1to4}, %xmm23, %xmm23
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmaddcph  (%rip){1to4}, %xmm23, %xmm23

// CHECK: vfmaddcph  -512(,%rbp,2), %xmm23, %xmm23
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmaddcph  -512(,%rbp,2), %xmm23, %xmm23

// CHECK: vfmaddcph  2032(%rcx), %xmm23, %xmm23 {%k7} {z}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmaddcph  2032(%rcx), %xmm23, %xmm23 {%k7} {z}

// CHECK: vfmaddcph  -512(%rdx){1to4}, %xmm23, %xmm23 {%k7} {z}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmaddcph  -512(%rdx){1to4}, %xmm23, %xmm23 {%k7} {z}

// CHECK: vfmulcph %ymm24, %ymm23, %ymm24
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmulcph %ymm24, %ymm23, %ymm24

// CHECK: vfmulcph %ymm24, %ymm23, %ymm23 {%k7}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmulcph %ymm24, %ymm23, %ymm23 {%k7}

// CHECK: vfmulcph %ymm24, %ymm23, %ymm24 {%k7} {z}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmulcph %ymm24, %ymm23, %ymm24 {%k7} {z}

// CHECK: vfmulcph %xmm24, %xmm23, %xmm23
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmulcph %xmm24, %xmm23, %xmm23

// CHECK: vfmulcph %xmm24, %xmm23, %xmm24 {%k7}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmulcph %xmm24, %xmm23, %xmm24 {%k7}

// CHECK: vfmulcph %xmm24, %xmm23, %xmm23 {%k7} {z}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmulcph %xmm24, %xmm23, %xmm23 {%k7} {z}

// CHECK: vfmulcph  268435456(%rbp,%r14,8), %ymm23, %ymm23
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmulcph  268435456(%rbp,%r14,8), %ymm23, %ymm23

// CHECK: vfmulcph  291(%r8,%rax,4), %ymm23, %ymm23 {%k7}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmulcph  291(%r8,%rax,4), %ymm23, %ymm23 {%k7}

// CHECK: vfmulcph  (%rip){1to8}, %ymm23, %ymm23
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmulcph  (%rip){1to8}, %ymm23, %ymm23

// CHECK: vfmulcph  -1024(,%rbp,2), %ymm23, %ymm23
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmulcph  -1024(,%rbp,2), %ymm23, %ymm23

// CHECK: vfmulcph  4064(%rcx), %ymm23, %ymm23 {%k7} {z}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmulcph  4064(%rcx), %ymm23, %ymm23 {%k7} {z}

// CHECK: vfmulcph  -512(%rdx){1to8}, %ymm23, %ymm23 {%k7} {z}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmulcph  -512(%rdx){1to8}, %ymm23, %ymm23 {%k7} {z}

// CHECK: vfmulcph  268435456(%rbp,%r14,8), %xmm23, %xmm23
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmulcph  268435456(%rbp,%r14,8), %xmm23, %xmm23

// CHECK: vfmulcph  291(%r8,%rax,4), %xmm23, %xmm23 {%k7}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmulcph  291(%r8,%rax,4), %xmm23, %xmm23 {%k7}

// CHECK: vfmulcph  (%rip){1to4}, %xmm23, %xmm23
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmulcph  (%rip){1to4}, %xmm23, %xmm23

// CHECK: vfmulcph  -512(,%rbp,2), %xmm23, %xmm23
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmulcph  -512(,%rbp,2), %xmm23, %xmm23

// CHECK: vfmulcph  2032(%rcx), %xmm23, %xmm23 {%k7} {z}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmulcph  2032(%rcx), %xmm23, %xmm23 {%k7} {z}

// CHECK: vfmulcph  -512(%rdx){1to4}, %xmm23, %xmm23 {%k7} {z}
// CHECK-STDERR: warning: Destination register should be distinct from source registers
          vfmulcph  -512(%rdx){1to4}, %xmm23, %xmm23 {%k7} {z}