reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54
   55
   56
   57
   58
   59
   60
   61
   62
   63
   64
   65
   66
   67
   68
   69
   70
   71
   72
   73
   74
   75
   76
   77
   78
   79
   80
   81
   82
   83
   84
   85
   86
   87
   88
   89
   90
   91
   92
   93
   94
   95
   96
   97
   98
   99
  100
  101
  102
  103
  104
  105
  106
  107
  108
  109
  110
  111
  112
  113
  114
  115
  116
  117
  118
  119
  120
  121
  122
  123
  124
  125
  126
  127
  128
  129
  130
  131
  132
  133
  134
  135
  136
  137
  138
  139
  140
  141
  142
  143
  144
  145
  146
  147
  148
  149
  150
  151
  152
  153
  154
  155
  156
  157
  158
  159
  160
  161
  162
  163
  164
  165
  166
  167
  168
  169
// RUN: llvm-mc -triple x86_64-unknown-unknown -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s

// CHECK: vgatherdpd    xmm2, xmmword ptr [rdi + 2*xmm1], xmm0 
// CHECK: encoding: [0xc4,0xe2,0xf9,0x92,0x14,0x4f]
          vgatherdpd    xmm2, xmmword ptr [rdi + 2*xmm1], xmm0 

// CHECK: vgatherqpd    xmm2, xmmword ptr [rdi + 2*xmm1], xmm0 
// CHECK: encoding: [0xc4,0xe2,0xf9,0x93,0x14,0x4f]
          vgatherqpd    xmm2, xmmword ptr [rdi + 2*xmm1], xmm0 

// CHECK: vgatherdpd    ymm2, ymmword ptr [rdi + 2*xmm1], ymm0 
// CHECK: encoding: [0xc4,0xe2,0xfd,0x92,0x14,0x4f]
          vgatherdpd    ymm2, ymmword ptr [rdi + 2*xmm1], ymm0 

// CHECK: vgatherqpd    ymm2, ymmword ptr [rdi + 2*ymm1], ymm0 
// CHECK: encoding: [0xc4,0xe2,0xfd,0x93,0x14,0x4f]
          vgatherqpd    ymm2, ymmword ptr [rdi + 2*ymm1], ymm0 

// CHECK: vgatherdps    xmm10, xmmword ptr [r15 + 2*xmm9], xmm8 
// CHECK: encoding: [0xc4,0x02,0x39,0x92,0x14,0x4f]
          vgatherdps    xmm10, xmmword ptr [r15 + 2*xmm9], xmm8 

// CHECK: vgatherqps    xmm10, qword ptr [r15 + 2*xmm9], xmm8 
// CHECK: encoding: [0xc4,0x02,0x39,0x93,0x14,0x4f]
          vgatherqps    xmm10, qword ptr [r15 + 2*xmm9], xmm8 

// CHECK: vgatherdps    ymm10, ymmword ptr [r15 + 2*ymm9], ymm8 
// CHECK: encoding: [0xc4,0x02,0x3d,0x92,0x14,0x4f]
          vgatherdps    ymm10, ymmword ptr [r15 + 2*ymm9], ymm8 

// CHECK: vgatherqps    xmm10, xmmword ptr [r15 + 2*ymm9], xmm8 
// CHECK: encoding: [0xc4,0x02,0x3d,0x93,0x14,0x4f]
          vgatherqps    xmm10, xmmword ptr [r15 + 2*ymm9], xmm8 

// CHECK: vpgatherdq    xmm2, xmmword ptr [rdi + 2*xmm1], xmm0 
// CHECK: encoding: [0xc4,0xe2,0xf9,0x90,0x14,0x4f]
          vpgatherdq    xmm2, xmmword ptr [rdi + 2*xmm1], xmm0 

// CHECK: vpgatherqq    xmm2, xmmword ptr [rdi + 2*xmm1], xmm0 
// CHECK: encoding: [0xc4,0xe2,0xf9,0x91,0x14,0x4f]
          vpgatherqq    xmm2, xmmword ptr [rdi + 2*xmm1], xmm0 

// CHECK: vpgatherdq    ymm2, ymmword ptr [rdi + 2*xmm1], ymm0 
// CHECK: encoding: [0xc4,0xe2,0xfd,0x90,0x14,0x4f]
          vpgatherdq    ymm2, ymmword ptr [rdi + 2*xmm1], ymm0 

// CHECK: vpgatherqq    ymm2, ymmword ptr [rdi + 2*ymm1], ymm0 
// CHECK: encoding: [0xc4,0xe2,0xfd,0x91,0x14,0x4f]
          vpgatherqq    ymm2, ymmword ptr [rdi + 2*ymm1], ymm0 

// CHECK: vpgatherdd    xmm10, xmmword ptr [r15 + 2*xmm9], xmm8 
// CHECK: encoding: [0xc4,0x02,0x39,0x90,0x14,0x4f]
          vpgatherdd    xmm10, xmmword ptr [r15 + 2*xmm9], xmm8 

// CHECK: vpgatherqd    xmm10, qword ptr [r15 + 2*xmm9], xmm8 
// CHECK: encoding: [0xc4,0x02,0x39,0x91,0x14,0x4f]
          vpgatherqd    xmm10, qword ptr [r15 + 2*xmm9], xmm8 

// CHECK: vpgatherdd    ymm10, ymmword ptr [r15 + 2*ymm9], ymm8 
// CHECK: encoding: [0xc4,0x02,0x3d,0x90,0x14,0x4f]
          vpgatherdd    ymm10, ymmword ptr [r15 + 2*ymm9], ymm8 

// CHECK: vpgatherqd    xmm10, xmmword ptr [r15 + 2*ymm9], xmm8 
// CHECK: encoding: [0xc4,0x02,0x3d,0x91,0x14,0x4f]
          vpgatherqd    xmm10, xmmword ptr [r15 + 2*ymm9], xmm8 

// CHECK: vcvtpd2ps xmm0, xmm15 
// CHECK: encoding: [0xc4,0xc1,0x79,0x5a,0xc7]
          vcvtpd2ps xmm0, xmm15

// CHECK: vcvtpd2ps xmm0, xmmword ptr [rax]
// CHECK: encoding: [0xc5,0xf9,0x5a,0x00]
          vcvtpd2ps xmm0, xmmword ptr [rax]

// CHECK: vcvtpd2ps xmm0, ymm15 
// CHECK: encoding: [0xc4,0xc1,0x7d,0x5a,0xc7]
          vcvtpd2ps xmm0, ymm15

// CHECK: vcvtpd2ps xmm0, ymmword ptr [rax]
// CHECK: encoding: [0xc5,0xfd,0x5a,0x00]
          vcvtpd2ps xmm0, ymmword ptr [rax]

// CHECK: vcvtpd2dq xmm0, xmm15 
// CHECK: encoding: [0xc4,0xc1,0x7b,0xe6,0xc7]
          vcvtpd2dq xmm0, xmm15

// CHECK: vcvtpd2dq xmm0, xmmword ptr [rax]
// CHECK: encoding: [0xc5,0xfb,0xe6,0x00]
          vcvtpd2dq xmm0, xmmword ptr [rax]

// CHECK: vcvtpd2dq xmm0, ymm15 
// CHECK: encoding: [0xc4,0xc1,0x7f,0xe6,0xc7]
          vcvtpd2dq xmm0, ymm15

// CHECK: vcvtpd2dq xmm0, ymmword ptr [rax]
// CHECK: encoding: [0xc5,0xff,0xe6,0x00]
          vcvtpd2dq xmm0, ymmword ptr [rax]

// CHECK: vcvttpd2dq xmm0, xmm15 
// CHECK: encoding: [0xc4,0xc1,0x79,0xe6,0xc7]
          vcvttpd2dq xmm0, xmm15

// CHECK: vcvttpd2dq xmm0, xmmword ptr [rax]
// CHECK: encoding: [0xc5,0xf9,0xe6,0x00]
          vcvttpd2dq xmm0, xmmword ptr [rax]

// CHECK: vcvttpd2dq xmm0, ymm15 
// CHECK: encoding: [0xc4,0xc1,0x7d,0xe6,0xc7]
          vcvttpd2dq xmm0, ymm15

// CHECK: vcvttpd2dq xmm0, ymmword ptr [rax]
// CHECK: encoding: [0xc5,0xfd,0xe6,0x00]
          vcvttpd2dq xmm0, ymmword ptr [rax]

// CHECK: vpmaddwd xmm1, xmm2, xmm3
// CHECK: encoding: [0xc5,0xe9,0xf5,0xcb]
          vpmaddwd xmm1, xmm2, xmm3

// CHECK: vpmaddwd xmm1, xmm2, xmmword ptr [rcx]
// CHECK: encoding: [0xc5,0xe9,0xf5,0x09]
          vpmaddwd xmm1, xmm2, xmmword ptr [rcx]

// CHECK: vpmaddwd xmm1, xmm2, xmmword ptr [rsp - 4]
// CHECK: encoding: [0xc5,0xe9,0xf5,0x4c,0x24,0xfc]
          vpmaddwd xmm1, xmm2, xmmword ptr [rsp - 4]

// CHECK: vpmaddwd xmm1, xmm2, xmmword ptr [rsp + 4]
// CHECK: encoding: [0xc5,0xe9,0xf5,0x4c,0x24,0x04]
          vpmaddwd xmm1, xmm2, xmmword ptr [rsp + 4]

// CHECK: vpmaddwd xmm1, xmm2, xmmword ptr [rcx + 8*r14 + 268435456]
// CHECK: encoding: [0xc4,0xa1,0x69,0xf5,0x8c,0xf1,0x00,0x00,0x00,0x10]
          vpmaddwd xmm1, xmm2, xmmword ptr [rcx + 8*r14 + 268435456]

// CHECK: vpmaddwd xmm1, xmm2, xmmword ptr [rcx + 8*r14 - 536870912]
// CHECK: encoding: [0xc4,0xa1,0x69,0xf5,0x8c,0xf1,0x00,0x00,0x00,0xe0]
          vpmaddwd xmm1, xmm2, xmmword ptr [rcx + 8*r14 - 536870912]

// CHECK: vpmaddwd xmm1, xmm2, xmmword ptr [rcx + 8*r14 - 536870910]
// CHECK: encoding: [0xc4,0xa1,0x69,0xf5,0x8c,0xf1,0x02,0x00,0x00,0xe0]
          vpmaddwd xmm1, xmm2, xmmword ptr [rcx + 8*r14 - 536870910]

// CHECK: vpmaddwd ymm1, ymm2, ymm3
// CHECK: encoding: [0xc5,0xed,0xf5,0xcb]
          vpmaddwd ymm1, ymm2, ymm3

// CHECK: vpmaddwd ymm1, ymm2, ymmword ptr [rcx]
// CHECK: encoding: [0xc5,0xed,0xf5,0x09]
          vpmaddwd ymm1, ymm2, ymmword ptr [rcx]

// CHECK: vpmaddwd ymm1, ymm2, ymmword ptr [rsp - 4]
// CHECK: encoding: [0xc5,0xed,0xf5,0x4c,0x24,0xfc]
          vpmaddwd ymm1, ymm2, ymmword ptr [rsp - 4]

// CHECK: vpmaddwd ymm1, ymm2, ymmword ptr [rsp + 4]
// CHECK: encoding: [0xc5,0xed,0xf5,0x4c,0x24,0x04]
          vpmaddwd ymm1, ymm2, ymmword ptr [rsp + 4]

// CHECK: vpmaddwd ymm1, ymm2, ymmword ptr [rcx + 8*r14 + 268435456]
// CHECK: encoding: [0xc4,0xa1,0x6d,0xf5,0x8c,0xf1,0x00,0x00,0x00,0x10]
          vpmaddwd ymm1, ymm2, ymmword ptr [rcx + 8*r14 + 268435456]

// CHECK: vpmaddwd ymm1, ymm2, ymmword ptr [rcx + 8*r14 - 536870912]
// CHECK: encoding: [0xc4,0xa1,0x6d,0xf5,0x8c,0xf1,0x00,0x00,0x00,0xe0]
          vpmaddwd ymm1, ymm2, ymmword ptr [rcx + 8*r14 - 536870912]

// CHECK: vpmaddwd ymm1, ymm2, ymmword ptr [rcx + 8*r14 - 536870910]
// CHECK: encoding: [0xc4,0xa1,0x6d,0xf5,0x8c,0xf1,0x02,0x00,0x00,0xe0]
          vpmaddwd ymm1, ymm2, ymmword ptr [rcx + 8*r14 - 536870910]