Home | History | Annotate | Download | only in X86
      1 # RUN: llvm-mc --disassemble %s -triple=x86_64-apple-darwin9 -mcpu=knl | FileCheck %s
      2 # RUN: llvm-mc --disassemble %s -triple=x86_64-apple-darwin9 -mcpu=skx | FileCheck --check-prefix=CHECK-SKX %s
      3 
      4 # CHECK: vpbroadcastd    %xmm18, %zmm28 {%k7} {z}
      5 0x62 0x22 0x7d 0xcf 0x58 0xe2
      6 
      7 # CHECK: vbroadcastss    (%rsp), %zmm28
      8 0x62 0x62 0x7d 0x48 0x18 0x24 0x24
      9 
     10 # CHECK: vblendmpd       (%rsi), %zmm2, %zmm8 {%k7}
     11 0x62 0x72 0xed 0x4f 0x65 0x06
     12 
     13 # CHECK: vpermpd (%rsi,%r10,4), %zmm2, %zmm8
     14 0x62 0x32 0xed 0x48 0x16 0x04 0x96
     15 
     16 # CHECK: vpbroadcastmw2d %k2, %zmm8
     17 0x62 0x72 0x7e 0x48 0x3a 0xc2
     18 
     19 # CHECK-SKX: vpbroadcastmw2d %k2, %xmm8
     20 0x62 0x72 0x7e 0x08 0x3a 0xc2
     21 
     22 # CHECK-SKX: vpbroadcastmw2d %k2, %ymm8
     23 0x62 0x72 0x7e 0x28 0x3a 0xc2
     24 
     25 # CHECK: vpbroadcastq    (%r9,%rax), %zmm28
     26 0x62 0x42 0xfd 0x48 0x59 0x24 0x01
     27 
     28 # CHECK: vbroadcastss    %xmm0, %zmm1
     29 0x62 0xf2 0x7d 0x48 0x18 0xc8
     30 
     31 # CHECK: vextracti32x4   $4, %zmm0, (%r10)
     32 0x62 0xd3 0x7d 0x48 0x39 0x02 0x04
     33 
     34 # CHECK: vextracti32x4   $4, %zmm0, %xmm1
     35 0x62 0xf3 0x7d 0x48 0x39 0xc1 0x04
     36 
     37 # CHECK: vinserti32x4    $1, %xmm21, %zmm5, %zmm17
     38 0x62 0xa3 0x55 0x48 0x38 0xcd 0x01
     39 
     40 # CHECK: vmovaps %zmm21, %zmm5 {%k3}
     41 0x62 0xb1 0x7c 0x4b 0x28 0xed
     42 
     43 # CHECK: vgatherdps      (%rsi,%zmm0,4), %zmm1 {%k2}
     44 0x62 0xf2 0x7d 0x4a 0x92 0x0c 0x86
     45 
     46 # CHECK: vgatherdpd      (%rsi,%ymm0,4), %zmm1 {%k2}
     47 0x62 0xf2 0xfd 0x4a 0x92 0x0c 0x86
     48 
     49 # CHECK: vpslld $16, %zmm21, %zmm22
     50 0x62 0xb1 0x4d 0x40 0x72 0xf5 0x10
     51 
     52 # CHECK: vpord %zmm22, %zmm21, %zmm23
     53 0x62 0xa1 0x55 0x40 0xeb 0xfe
     54 
     55 #####################################################
     56 #                MASK INSTRUCTIONS                  #
     57 #####################################################
     58 
     59 # CHECK: kshiftlw        $3, %k1, %k2
     60 0xc4 0xe3 0xf9 0x32 0xd1 0x03
     61 
     62 # CHECK: kmovw   (%rdi), %k1
     63 0xc5 0xf8 0x90 0x0f
     64 
     65 # CHECK: kmovw   %k1, %eax
     66 0xc5 0xf8 0x93 0xc1
     67 
     68 # CHECK: kandw   %k1, %k2, %k3
     69 0xc5 0xec 0x41 0xd9
     70 
     71 # CHECK: kmovw   %k5, %k1
     72 0xc5 0xf8 0x90 0xcd
     73 
     74 #####################################################
     75 #             COMPRESSED DISPLACEMENT               #
     76 #####################################################
     77 
     78 # TupleType = FVM
     79 # CHECK: vmovdqu32 %zmm0, -448(%rcx)
     80 0x62 0xf1 0x7e 0x48 0x7f 0x41 0xf9
     81 
     82 # TupleType = T1S, 64-bit eltsize
     83 # CHECK: vaddsd 256(%rdx), %xmm0, %xmm16
     84 0x62 0xe1 0xff 0x08 0x58 0x42 0x20
     85 
     86 # TupleType = T1S, 32-bit eltsize
     87 # CHECK: vaddss 256(%rdx), %xmm0, %xmm16
     88 0x62 0xe1 0x7e 0x08 0x58 0x42 0x40
     89 
     90 # TupleType = FV
     91 # CHECK: vaddpd 256(%rdx), %zmm0, %zmm16
     92 0x62 0xe1 0xfd 0x48 0x58 0x42 0x04
     93 
     94 # TupleType = FV, broadcast, 64-bit eltsize
     95 # CHECK: vaddpd 256(%rdx){1to8}, %zmm0, %zmm16
     96 0x62 0xe1 0xfd 0x58 0x58 0x42 0x20
     97 
     98 # TupleType = FV, broadcast, 32-bit eltsize
     99 # CHECK: vaddps 256(%rdx){1to16}, %zmm0, %zmm16
    100 0x62 0xe1 0x7c 0x58 0x58 0x42 0x40
    101 
    102 # TupleType = T4
    103 # CHECK: vbroadcasti32x4 256(%rdx), %zmm16
    104 0x62 0xe2 0x7d 0x48 0x5a 0x42 0x10
    105 
    106 # Cases where we can't use cdisp8
    107 # CHECK: vaddss 255(%rdx), %xmm0, %xmm16
    108 0x62 0xe1 0x7e 0x08 0x58 0x82 0xff 0x00 0x00 0x00
    109 
    110 # CHECK: vaddss 1024(%rdx), %xmm0, %xmm16
    111 0x62 0xe1 0x7e 0x08 0x58 0x82 0x00 0x04 0x00 0x00
    112 
    113 # CHECK: vpcmpeqd %zmm10, %zmm25, %k5
    114 0x62 0xd3 0x35 0x40 0x1f 0xea 0x0
    115 
    116 # CHECK: vpcmpltd %zmm10, %zmm25, %k5
    117 0x62 0xd3 0x35 0x40 0x1f 0xea 0x1
    118 
    119 # CHECK: vpcmpled %zmm10, %zmm25, %k5
    120 0x62 0xd3 0x35 0x40 0x1f 0xea 0x2
    121 
    122 # CHECK: vpcmpd $3, %zmm10, %zmm25, %k5
    123 0x62 0xd3 0x35 0x40 0x1f 0xea 0x3
    124 
    125 # CHECK: vpcmpneqd %zmm10, %zmm25, %k5
    126 0x62 0xd3 0x35 0x40 0x1f 0xea 0x4
    127 
    128 # CHECK: vpcmpnltd %zmm10, %zmm25, %k5
    129 0x62 0xd3 0x35 0x40 0x1f 0xea 0x5
    130 
    131 # CHECK: vpcmpnled %zmm10, %zmm25, %k5
    132 0x62 0xd3 0x35 0x40 0x1f 0xea 0x6
    133 
    134 # CHECK: vpcmpd $7, %zmm10, %zmm25, %k5
    135 0x62 0xd3 0x35 0x40 0x1f 0xea 0x7
    136 
    137 # CHECK: vpcmpd $8, %zmm10, %zmm25, %k5
    138 0x62 0xd3 0x35 0x40 0x1f 0xea 0x8
    139 
    140 # CHECK: vcmppd	$127, {sae}, %zmm27, %zmm11, %k4
    141 0x62 0x91 0xa5 0x58 0xc2 0xe3 0x7f
    142