Home | History | Annotate | Download | only in X86
      1 // RUN: llvm-mc -triple x86_64-unknown-unknown -mcpu=knl -mattr=+avx512ifma  --show-encoding %s | FileCheck %s
      2 
      3   vpmadd52luq %zmm4, %zmm5, %zmm6
      4 //CHECK: vpmadd52luq %zmm4, %zmm5, %zmm6
      5 //CHECK: encoding: [0x62,0xf2,0xd5,0x48,0xb4,0xf4]
      6 
      7   vpmadd52luq %zmm4, %zmm5, %zmm6 {%k7}
      8 //CHECK: vpmadd52luq %zmm4, %zmm5, %zmm6 {%k7}
      9 //CHECK: encoding: [0x62,0xf2,0xd5,0x4f,0xb4,0xf4]
     10 
     11   vpmadd52luq %zmm4, %zmm5, %zmm6 {%k7} {z}
     12 //CHECK: vpmadd52luq %zmm4, %zmm5, %zmm6 {%k7} {z}
     13 //CHECK: encoding: [0x62,0xf2,0xd5,0xcf,0xb4,0xf4]
     14 
     15   vpmadd52luq %zmm28, %zmm29, %zmm30
     16 //CHECK: vpmadd52luq %zmm28, %zmm29, %zmm30
     17 //CHECK: encoding: [0x62,0x02,0x95,0x40,0xb4,0xf4]
     18 
     19   vpmadd52luq %zmm28, %zmm29, %zmm30 {%k7}
     20 //CHECK: vpmadd52luq %zmm28, %zmm29, %zmm30 {%k7}
     21 //CHECK: encoding: [0x62,0x02,0x95,0x47,0xb4,0xf4]
     22 
     23   vpmadd52luq %zmm28, %zmm29, %zmm30 {%k7} {z}
     24 //CHECK: vpmadd52luq %zmm28, %zmm29, %zmm30 {%k7} {z}
     25 //CHECK: encoding: [0x62,0x02,0x95,0xc7,0xb4,0xf4]
     26 
     27   vpmadd52luq (%rcx), %zmm29, %zmm30
     28 //CHECK: vpmadd52luq (%rcx), %zmm29, %zmm30
     29 //CHECK: encoding: [0x62,0x62,0x95,0x40,0xb4,0x31]
     30 
     31   vpmadd52luq 0x123(%rax,%r14,8), %zmm29, %zmm30
     32 //CHECK: vpmadd52luq 291(%rax,%r14,8), %zmm29, %zmm30
     33 //CHECK: encoding: [0x62,0x22,0x95,0x40,0xb4,0xb4,0xf0,0x23,0x01,0x00,0x00]
     34 
     35   vpmadd52luq (%rcx){1to8}, %zmm29, %zmm30
     36 //CHECK: vpmadd52luq (%rcx){1to8}, %zmm29, %zmm30
     37 //CHECK: encoding: [0x62,0x62,0x95,0x50,0xb4,0x31]
     38 
     39   vpmadd52luq 0x1fc0(%rdx), %zmm29, %zmm30
     40 //CHECK: vpmadd52luq 8128(%rdx), %zmm29, %zmm30
     41 //CHECK: encoding: [0x62,0x62,0x95,0x40,0xb4,0x72,0x7f]
     42 
     43   vpmadd52luq 0x2000(%rdx), %zmm29, %zmm30
     44 //CHECK: vpmadd52luq 8192(%rdx), %zmm29, %zmm30
     45 //CHECK: encoding: [0x62,0x62,0x95,0x40,0xb4,0xb2,0x00,0x20,0x00,0x00]
     46 
     47   vpmadd52luq -0x2000(%rdx), %zmm29, %zmm30
     48 //CHECK: vpmadd52luq -8192(%rdx), %zmm29, %zmm30
     49 //CHECK: encoding: [0x62,0x62,0x95,0x40,0xb4,0x72,0x80]
     50 
     51   vpmadd52luq -0x2040(%rdx), %zmm29, %zmm30
     52 //CHECK: vpmadd52luq -8256(%rdx), %zmm29, %zmm30
     53 //CHECK: encoding: [0x62,0x62,0x95,0x40,0xb4,0xb2,0xc0,0xdf,0xff,0xff]
     54 
     55   vpmadd52luq 0x3f8(%rdx){1to8}, %zmm29, %zmm30
     56 //CHECK: vpmadd52luq 1016(%rdx){1to8}, %zmm29, %zmm30
     57 //CHECK: encoding: [0x62,0x62,0x95,0x50,0xb4,0x72,0x7f]
     58 
     59   vpmadd52luq 0x400(%rdx){1to8}, %zmm29, %zmm30
     60 //CHECK: vpmadd52luq 1024(%rdx){1to8}, %zmm29, %zmm30
     61 //CHECK: encoding: [0x62,0x62,0x95,0x50,0xb4,0xb2,0x00,0x04,0x00,0x00]
     62 
     63   vpmadd52luq -0x400(%rdx){1to8}, %zmm29, %zmm30
     64 //CHECK: vpmadd52luq -1024(%rdx){1to8}, %zmm29, %zmm30
     65 //CHECK: encoding: [0x62,0x62,0x95,0x50,0xb4,0x72,0x80]
     66 
     67   vpmadd52luq -0x408(%rdx){1to8}, %zmm29, %zmm30
     68 //CHECK: vpmadd52luq -1032(%rdx){1to8}, %zmm29, %zmm30
     69 //CHECK: encoding: [0x62,0x62,0x95,0x50,0xb4,0xb2,0xf8,0xfb,0xff,0xff]
     70 
     71   vpmadd52luq 0x1234(%rax,%r14,8), %zmm29, %zmm30
     72 //CHECK: vpmadd52luq 4660(%rax,%r14,8), %zmm29, %zmm30
     73 //CHECK: encoding: [0x62,0x22,0x95,0x40,0xb4,0xb4,0xf0,0x34,0x12,0x00,0x00]
     74 
     75   vpmadd52huq %zmm4, %zmm5, %zmm6
     76 //CHECK: vpmadd52huq %zmm4, %zmm5, %zmm6
     77 //CHECK: encoding: [0x62,0xf2,0xd5,0x48,0xb5,0xf4]
     78 
     79   vpmadd52huq %zmm4, %zmm5, %zmm6 {%k7}
     80 //CHECK: vpmadd52huq %zmm4, %zmm5, %zmm6 {%k7}
     81 //CHECK: encoding: [0x62,0xf2,0xd5,0x4f,0xb5,0xf4]
     82 
     83   vpmadd52huq %zmm4, %zmm5, %zmm6 {%k7} {z}
     84 //CHECK: vpmadd52huq %zmm4, %zmm5, %zmm6 {%k7} {z}
     85 //CHECK: encoding: [0x62,0xf2,0xd5,0xcf,0xb5,0xf4]
     86 
     87   vpmadd52huq %zmm28, %zmm29, %zmm30
     88 //CHECK: vpmadd52huq %zmm28, %zmm29, %zmm30
     89 //CHECK: encoding: [0x62,0x02,0x95,0x40,0xb5,0xf4]
     90 
     91   vpmadd52huq %zmm28, %zmm29, %zmm30 {%k7}
     92 //CHECK: vpmadd52huq %zmm28, %zmm29, %zmm30 {%k7}
     93 //CHECK: encoding: [0x62,0x02,0x95,0x47,0xb5,0xf4]
     94 
     95   vpmadd52huq %zmm28, %zmm29, %zmm30 {%k7} {z}
     96 //CHECK: vpmadd52huq %zmm28, %zmm29, %zmm30 {%k7} {z}
     97 //CHECK: encoding: [0x62,0x02,0x95,0xc7,0xb5,0xf4]
     98 
     99   vpmadd52huq (%rcx), %zmm29, %zmm30
    100 //CHECK: vpmadd52huq (%rcx), %zmm29, %zmm30
    101 //CHECK: encoding: [0x62,0x62,0x95,0x40,0xb5,0x31]
    102 
    103   vpmadd52huq 0x123(%rax,%r14,8), %zmm29, %zmm30
    104 //CHECK: vpmadd52huq 291(%rax,%r14,8), %zmm29, %zmm30
    105 //CHECK: encoding: [0x62,0x22,0x95,0x40,0xb5,0xb4,0xf0,0x23,0x01,0x00,0x00]
    106 
    107   vpmadd52huq (%rcx){1to8}, %zmm29, %zmm30
    108 //CHECK: vpmadd52huq (%rcx){1to8}, %zmm29, %zmm30
    109 //CHECK: encoding: [0x62,0x62,0x95,0x50,0xb5,0x31]
    110 
    111   vpmadd52huq 0x1fc0(%rdx), %zmm29, %zmm30
    112 //CHECK: vpmadd52huq 8128(%rdx), %zmm29, %zmm30
    113 //CHECK: encoding: [0x62,0x62,0x95,0x40,0xb5,0x72,0x7f]
    114 
    115   vpmadd52huq 0x2000(%rdx), %zmm29, %zmm30
    116 //CHECK: vpmadd52huq 8192(%rdx), %zmm29, %zmm30
    117 //CHECK: encoding: [0x62,0x62,0x95,0x40,0xb5,0xb2,0x00,0x20,0x00,0x00]
    118 
    119   vpmadd52huq -0x2000(%rdx), %zmm29, %zmm30
    120 //CHECK: vpmadd52huq -8192(%rdx), %zmm29, %zmm30
    121 //CHECK: encoding: [0x62,0x62,0x95,0x40,0xb5,0x72,0x80]
    122 
    123   vpmadd52huq -0x2040(%rdx), %zmm29, %zmm30
    124 //CHECK: vpmadd52huq -8256(%rdx), %zmm29, %zmm30
    125 //CHECK: encoding: [0x62,0x62,0x95,0x40,0xb5,0xb2,0xc0,0xdf,0xff,0xff]
    126 
    127   vpmadd52huq 0x3f8(%rdx){1to8}, %zmm29, %zmm30
    128 //CHECK: vpmadd52huq 1016(%rdx){1to8}, %zmm29, %zmm30
    129 //CHECK: encoding: [0x62,0x62,0x95,0x50,0xb5,0x72,0x7f]
    130 
    131   vpmadd52huq 0x400(%rdx){1to8}, %zmm29, %zmm30
    132 //CHECK: vpmadd52huq 1024(%rdx){1to8}, %zmm29, %zmm30
    133 //CHECK: encoding: [0x62,0x62,0x95,0x50,0xb5,0xb2,0x00,0x04,0x00,0x00]
    134 
    135   vpmadd52huq -0x400(%rdx){1to8}, %zmm29, %zmm30
    136 //CHECK: vpmadd52huq -1024(%rdx){1to8}, %zmm29, %zmm30
    137 //CHECK: encoding: [0x62,0x62,0x95,0x50,0xb5,0x72,0x80]
    138 
    139   vpmadd52huq -0x408(%rdx){1to8}, %zmm29, %zmm30
    140 //CHECK: vpmadd52huq -1032(%rdx){1to8}, %zmm29, %zmm30
    141 //CHECK: encoding: [0x62,0x62,0x95,0x50,0xb5,0xb2,0xf8,0xfb,0xff,0xff]
    142 
    143   vpmadd52huq 0x1234(%rax,%r14,8), %zmm29, %zmm30
    144 //CHECK: vpmadd52huq 4660(%rax,%r14,8), %zmm29, %zmm30
    145 //CHECK: encoding: [0x62,0x22,0x95,0x40,0xb5,0xb4,0xf0,0x34,0x12,0x00,0x00]
    146