1// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding < %s | FileCheck %s 2 3// CHECK: vcvtne2ps2bf16 %xmm28, %xmm29, %xmm30 4// CHECK: encoding: [0x62,0x02,0x17,0x00,0x72,0xf4] 5 vcvtne2ps2bf16 %xmm28, %xmm29, %xmm30 6 7// CHECK: vcvtne2ps2bf16 %xmm28, %xmm29, %xmm30 {%k7} 8// CHECK: encoding: [0x62,0x02,0x17,0x07,0x72,0xf4] 9 vcvtne2ps2bf16 %xmm28, %xmm29, %xmm30 {%k7} 10 11// CHECK: vcvtne2ps2bf16 %xmm28, %xmm29, %xmm30 {%k7} {z} 12// CHECK: encoding: [0x62,0x02,0x17,0x87,0x72,0xf4] 13 vcvtne2ps2bf16 %xmm28, %xmm29, %xmm30 {%k7} {z} 14 15// CHECK: vcvtne2ps2bf16 (%rcx), %xmm29, %xmm30 16// CHECK: encoding: [0x62,0x62,0x17,0x00,0x72,0x31] 17 vcvtne2ps2bf16 (%rcx), %xmm29, %xmm30 18 19// CHECK: vcvtne2ps2bf16 291(%rax,%r14,8), %xmm29, %xmm30 20// CHECK: encoding: [0x62,0x22,0x17,0x00,0x72,0xb4,0xf0,0x23,0x01,0x00,0x00] 21 vcvtne2ps2bf16 291(%rax,%r14,8), %xmm29, %xmm30 22 23// CHECK: vcvtne2ps2bf16 268435456(%rax,%r14,8), %xmm29, %xmm30 24// CHECK: encoding: [0x62,0x22,0x17,0x00,0x72,0xb4,0xf0,0x00,0x00,0x00,0x10] 25 vcvtne2ps2bf16 268435456(%rax,%r14,8), %xmm29, %xmm30 26 27// CHECK: vcvtne2ps2bf16 -16(%rsp), %xmm29, %xmm30 28// CHECK: encoding: [0x62,0x62,0x17,0x00,0x72,0x74,0x24,0xff] 29 vcvtne2ps2bf16 -16(%rsp), %xmm29, %xmm30 30 31// CHECK: vcvtne2ps2bf16 (%rcx){1to4}, %xmm29, %xmm30 32// CHECK: encoding: [0x62,0x62,0x17,0x10,0x72,0x31] 33 vcvtne2ps2bf16 (%rcx){1to4}, %xmm29, %xmm30 34 35// CHECK: vcvtne2ps2bf16 2032(%rdx), %xmm29, %xmm30 36// CHECK: encoding: [0x62,0x62,0x17,0x00,0x72,0x72,0x7f] 37 vcvtne2ps2bf16 2032(%rdx), %xmm29, %xmm30 38 39// CHECK: vcvtne2ps2bf16 -2048(%rdx), %xmm29, %xmm30 40// CHECK: encoding: [0x62,0x62,0x17,0x00,0x72,0x72,0x80] 41 vcvtne2ps2bf16 -2048(%rdx), %xmm29, %xmm30 42 43// CHECK: vcvtne2ps2bf16 508(%rdx){1to4}, %xmm29, %xmm30 44// CHECK: encoding: [0x62,0x62,0x17,0x10,0x72,0x72,0x7f] 45 vcvtne2ps2bf16 508(%rdx){1to4}, %xmm29, %xmm30 46 47// CHECK: vcvtne2ps2bf16 -512(%rdx){1to4}, %xmm29, %xmm30 48// CHECK: encoding: [0x62,0x62,0x17,0x10,0x72,0x72,0x80] 49 vcvtne2ps2bf16 -512(%rdx){1to4}, %xmm29, %xmm30 50 51// CHECK: vcvtne2ps2bf16 %ymm28, %ymm29, %ymm30 52// CHECK: encoding: [0x62,0x02,0x17,0x20,0x72,0xf4] 53 vcvtne2ps2bf16 %ymm28, %ymm29, %ymm30 54 55// CHECK: vcvtne2ps2bf16 %ymm28, %ymm29, %ymm30 {%k7} 56// CHECK: encoding: [0x62,0x02,0x17,0x27,0x72,0xf4] 57 vcvtne2ps2bf16 %ymm28, %ymm29, %ymm30 {%k7} 58 59// CHECK: vcvtne2ps2bf16 %ymm28, %ymm29, %ymm30 {%k7} {z} 60// CHECK: encoding: [0x62,0x02,0x17,0xa7,0x72,0xf4] 61 vcvtne2ps2bf16 %ymm28, %ymm29, %ymm30 {%k7} {z} 62 63// CHECK: vcvtne2ps2bf16 (%rcx), %ymm29, %ymm30 64// CHECK: encoding: [0x62,0x62,0x17,0x20,0x72,0x31] 65 vcvtne2ps2bf16 (%rcx), %ymm29, %ymm30 66 67// CHECK: vcvtne2ps2bf16 291(%rax,%r14,8), %ymm29, %ymm30 68// CHECK: encoding: [0x62,0x22,0x17,0x20,0x72,0xb4,0xf0,0x23,0x01,0x00,0x00] 69 vcvtne2ps2bf16 291(%rax,%r14,8), %ymm29, %ymm30 70 71// CHECK: vcvtne2ps2bf16 268435456(%rax,%r14,8), %ymm29, %ymm30 72// CHECK: encoding: [0x62,0x22,0x17,0x20,0x72,0xb4,0xf0,0x00,0x00,0x00,0x10] 73 vcvtne2ps2bf16 268435456(%rax,%r14,8), %ymm29, %ymm30 74 75// CHECK: vcvtne2ps2bf16 -32(%rsp), %ymm29, %ymm30 76// CHECK: encoding: [0x62,0x62,0x17,0x20,0x72,0x74,0x24,0xff] 77 vcvtne2ps2bf16 -32(%rsp), %ymm29, %ymm30 78 79// CHECK: vcvtne2ps2bf16 (%rcx){1to8}, %ymm29, %ymm30 80// CHECK: encoding: [0x62,0x62,0x17,0x30,0x72,0x31] 81 vcvtne2ps2bf16 (%rcx){1to8}, %ymm29, %ymm30 82 83// CHECK: vcvtne2ps2bf16 4064(%rdx), %ymm29, %ymm30 84// CHECK: encoding: [0x62,0x62,0x17,0x20,0x72,0x72,0x7f] 85 vcvtne2ps2bf16 4064(%rdx), %ymm29, %ymm30 86 87// CHECK: vcvtne2ps2bf16 -4096(%rdx), %ymm29, %ymm30 88// CHECK: encoding: [0x62,0x62,0x17,0x20,0x72,0x72,0x80] 89 vcvtne2ps2bf16 -4096(%rdx), %ymm29, %ymm30 90 91// CHECK: vcvtne2ps2bf16 508(%rdx){1to8}, %ymm29, %ymm30 92// CHECK: encoding: [0x62,0x62,0x17,0x30,0x72,0x72,0x7f] 93 vcvtne2ps2bf16 508(%rdx){1to8}, %ymm29, %ymm30 94 95// CHECK: vcvtne2ps2bf16 -512(%rdx){1to8}, %ymm29, %ymm30 96// CHECK: encoding: [0x62,0x62,0x17,0x30,0x72,0x72,0x80] 97 vcvtne2ps2bf16 -512(%rdx){1to8}, %ymm29, %ymm30 98 99// CHECK: vcvtneps2bf16 %xmm29, %xmm30 100// CHECK: encoding: [0x62,0x02,0x7e,0x08,0x72,0xf5] 101 vcvtneps2bf16 %xmm29, %xmm30 102 103// CHECK: vcvtneps2bf16x 268435456(%rbp,%r14,8), %xmm30 {%k7} 104// CHECK: encoding: [0x62,0x22,0x7e,0x0f,0x72,0xb4,0xf5,0x00,0x00,0x00,0x10] 105 vcvtneps2bf16x 268435456(%rbp,%r14,8), %xmm30 {%k7} 106 107// CHECK: vcvtneps2bf16 (%r9){1to4}, %xmm30 108// CHECK: encoding: [0x62,0x42,0x7e,0x18,0x72,0x31] 109 vcvtneps2bf16 (%r9){1to4}, %xmm30 110 111// CHECK: vcvtneps2bf16x 2032(%rcx), %xmm30 112// CHECK: encoding: [0x62,0x62,0x7e,0x08,0x72,0x71,0x7f] 113 vcvtneps2bf16x 2032(%rcx), %xmm30 114 115// CHECK: vcvtneps2bf16 -512(%rdx){1to4}, %xmm30 {%k7} {z} 116// CHECK: encoding: [0x62,0x62,0x7e,0x9f,0x72,0x72,0x80] 117 vcvtneps2bf16 -512(%rdx){1to4}, %xmm30 {%k7} {z} 118 119// CHECK: vcvtneps2bf16 %ymm29, %xmm30 120// CHECK: encoding: [0x62,0x02,0x7e,0x28,0x72,0xf5] 121 vcvtneps2bf16 %ymm29, %xmm30 122 123// CHECK: vcvtneps2bf16y 268435456(%rbp,%r14,8), %xmm30 {%k7} 124// CHECK: encoding: [0x62,0x22,0x7e,0x2f,0x72,0xb4,0xf5,0x00,0x00,0x00,0x10] 125 vcvtneps2bf16y 268435456(%rbp,%r14,8), %xmm30 {%k7} 126 127// CHECK: vcvtneps2bf16 (%r9){1to8}, %xmm30 128// CHECK: encoding: [0x62,0x42,0x7e,0x38,0x72,0x31] 129 vcvtneps2bf16 (%r9){1to8}, %xmm30 130 131// CHECK: vcvtneps2bf16y 4064(%rcx), %xmm30 132// CHECK: encoding: [0x62,0x62,0x7e,0x28,0x72,0x71,0x7f] 133 vcvtneps2bf16y 4064(%rcx), %xmm30 134 135// CHECK: vcvtneps2bf16 -512(%rdx){1to8}, %xmm30 {%k7} {z} 136// CHECK: encoding: [0x62,0x62,0x7e,0xbf,0x72,0x72,0x80] 137 vcvtneps2bf16 -512(%rdx){1to8}, %xmm30 {%k7} {z} 138 139// CHECK: vdpbf16ps %ymm28, %ymm29, %ymm30 140// CHECK: encoding: [0x62,0x02,0x16,0x20,0x52,0xf4] 141 vdpbf16ps %ymm28, %ymm29, %ymm30 142 143// CHECK: vdpbf16ps 268435456(%rbp,%r14,8), %ymm29, %ymm30 {%k7} 144// CHECK: encoding: [0x62,0x22,0x16,0x27,0x52,0xb4,0xf5,0x00,0x00,0x00,0x10] 145 vdpbf16ps 268435456(%rbp,%r14,8), %ymm29, %ymm30 {%k7} 146 147// CHECK: vdpbf16ps (%r9){1to8}, %ymm29, %ymm30 148// CHECK: encoding: [0x62,0x42,0x16,0x30,0x52,0x31] 149 vdpbf16ps (%r9){1to8}, %ymm29, %ymm30 150 151// CHECK: vdpbf16ps 4064(%rcx), %ymm29, %ymm30 152// CHECK: encoding: [0x62,0x62,0x16,0x20,0x52,0x71,0x7f] 153 vdpbf16ps 4064(%rcx), %ymm29, %ymm30 154 155// CHECK: vdpbf16ps -512(%rdx){1to8}, %ymm29, %ymm30 {%k7} {z} 156// CHECK: encoding: [0x62,0x62,0x16,0xb7,0x52,0x72,0x80] 157 vdpbf16ps -512(%rdx){1to8}, %ymm29, %ymm30 {%k7} {z} 158 159// CHECK: vdpbf16ps %xmm28, %xmm29, %xmm30 160// CHECK: encoding: [0x62,0x02,0x16,0x00,0x52,0xf4] 161 vdpbf16ps %xmm28, %xmm29, %xmm30 162 163// CHECK: vdpbf16ps 268435456(%rbp,%r14,8), %xmm29, %xmm30 {%k7} 164// CHECK: encoding: [0x62,0x22,0x16,0x07,0x52,0xb4,0xf5,0x00,0x00,0x00,0x10] 165 vdpbf16ps 268435456(%rbp,%r14,8), %xmm29, %xmm30 {%k7} 166 167// CHECK: vdpbf16ps (%r9){1to4}, %xmm29, %xmm30 168// CHECK: encoding: [0x62,0x42,0x16,0x10,0x52,0x31] 169 vdpbf16ps (%r9){1to4}, %xmm29, %xmm30 170 171// CHECK: vdpbf16ps 2032(%rcx), %xmm29, %xmm30 172// CHECK: encoding: [0x62,0x62,0x16,0x00,0x52,0x71,0x7f] 173 vdpbf16ps 2032(%rcx), %xmm29, %xmm30 174 175// CHECK: vdpbf16ps -512(%rdx){1to4}, %xmm29, %xmm30 {%k7} {z} 176// CHECK: encoding: [0x62,0x62,0x16,0x97,0x52,0x72,0x80] 177 vdpbf16ps -512(%rdx){1to4}, %xmm29, %xmm30 {%k7} {z} 178 179