1// RUN: llvm-mc -triple=amdgcn -mcpu=gfx908 -show-encoding %s | FileCheck %s 2// RUN: llvm-mc -triple=amdgcn -mcpu=gfx90a -show-encoding %s | FileCheck %s 3// RUN: llvm-mc -triple=amdgcn -mcpu=gfx940 -show-encoding %s | FileCheck %s 4 5// CHECK: encoding: [0x01,0x05,0x0a,0x6e] 6v_dot2c_f32_f16 v5, v1, v2 7 8// CHECK: encoding: [0x01,0x05,0xfe,0x6f] 9v_dot2c_f32_f16 v255, v1, v2 10 11// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0x00] 12v_dot2c_f32_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 13 14// CHECK: encoding: [0xfa,0x04,0xfe,0x6f,0x01,0xe4,0x00,0x00] 15v_dot2c_f32_f16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 16 17// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0xff,0xe4,0x00,0x00] 18v_dot2c_f32_f16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 19 20// CHECK: encoding: [0xfa,0xfe,0x0b,0x6e,0x01,0xe4,0x00,0x00] 21v_dot2c_f32_f16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 22 23// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0x1b,0x00,0x00] 24v_dot2c_f32_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 25 26// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0x40,0x01,0x00] 27v_dot2c_f32_f16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 28 29// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0x41,0x01,0x00] 30v_dot2c_f32_f16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 31 32// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0x42,0x01,0x00] 33v_dot2c_f32_f16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 34 35// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0x43,0x01,0x00] 36v_dot2c_f32_f16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 37 38// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0x30,0x01,0x00] 39v_dot2c_f32_f16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 40 41// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0x34,0x01,0x00] 42v_dot2c_f32_f16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 43 44// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0x38,0x01,0x00] 45v_dot2c_f32_f16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 46 47// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0x3c,0x01,0x00] 48v_dot2c_f32_f16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 49 50// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0x01,0x01,0x00] 51v_dot2c_f32_f16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 52 53// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0x0f,0x01,0x00] 54v_dot2c_f32_f16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 55 56// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0x11,0x01,0x00] 57v_dot2c_f32_f16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 58 59// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0x1f,0x01,0x00] 60v_dot2c_f32_f16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 61 62// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0x21,0x01,0x00] 63v_dot2c_f32_f16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 64 65// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0x2f,0x01,0x00] 66v_dot2c_f32_f16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 67 68// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0x10] 69v_dot2c_f32_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 70 71// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0x30] 72v_dot2c_f32_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 73 74// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0xf0] 75v_dot2c_f32_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 76 77// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0xf0] 78v_dot2c_f32_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0 79 80// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0x01] 81v_dot2c_f32_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 82 83// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0x03] 84v_dot2c_f32_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 85 86// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0x0f] 87v_dot2c_f32_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf 88 89// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0x0f] 90v_dot2c_f32_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 91 92// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x08,0x00] 93v_dot2c_f32_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 94 95// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x10,0x00] 96v_dot2c_f32_f16_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 97 98// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x20,0x00] 99v_dot2c_f32_f16_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 100 101// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x40,0x00] 102v_dot2c_f32_f16_dpp v5, v1, -v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 103 104// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x80,0x00] 105v_dot2c_f32_f16_dpp v5, v1, |v2| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 106 107// CHECK: encoding: [0x05,0x00,0x37,0xd1,0x01,0xfb,0x01,0x00] 108v_dot2c_f32_f16_e64 v5, v1, src_scc 109 110// CHECK: encoding: [0x05,0x00,0x37,0xd1,0xff,0xf9,0x01,0x00] 111v_dot2c_f32_f16_e64 v5, v255, src_execz 112 113// CHECK: encoding: [0x05,0x00,0x37,0xd1,0x65,0xca,0x00,0x00] 114v_dot2c_f32_f16_e64 v5, s101, s101 115 116// CHECK: encoding: [0x05,0x00,0x37,0xd1,0xc1,0xcc,0x00,0x00] 117v_dot2c_f32_f16_e64 v5, -1, flat_scratch_lo 118 119// CHECK: encoding: [0x05,0x02,0x37,0xd1,0xf0,0xce,0x00,0x40] 120v_dot2c_f32_f16_e64 v5, 0.5, -|flat_scratch_hi| 121 122// CHECK: encoding: [0x05,0x00,0x37,0xd1,0xfc,0xe0,0x01,0x10] 123v_dot2c_f32_f16_e64 v5, src_execz, 0.5 mul:4 124 125// CHECK: encoding: [0xff,0x81,0x37,0xd1,0xfd,0x82,0x01,0x38] 126v_dot2c_f32_f16_e64 v255, -|src_scc|, -1 clamp div:2 127 128// CHECK: encoding: [0x01,0x05,0x0a,0x70] 129v_dot2c_i32_i16 v5, v1, v2 130 131// CHECK: encoding: [0x01,0x05,0xfe,0x71] 132v_dot2c_i32_i16 v255, v1, v2 133 134// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0x00] 135v_dot2c_i32_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 136 137// CHECK: encoding: [0xfa,0x04,0xfe,0x71,0x01,0xe4,0x00,0x00] 138v_dot2c_i32_i16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 139 140// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0xff,0xe4,0x00,0x00] 141v_dot2c_i32_i16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 142 143// CHECK: encoding: [0xfa,0xfe,0x0b,0x70,0x01,0xe4,0x00,0x00] 144v_dot2c_i32_i16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 145 146// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0x1b,0x00,0x00] 147v_dot2c_i32_i16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 148 149// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0x40,0x01,0x00] 150v_dot2c_i32_i16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 151 152// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0x41,0x01,0x00] 153v_dot2c_i32_i16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 154 155// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0x42,0x01,0x00] 156v_dot2c_i32_i16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 157 158// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0x43,0x01,0x00] 159v_dot2c_i32_i16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 160 161// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0x30,0x01,0x00] 162v_dot2c_i32_i16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 163 164// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0x34,0x01,0x00] 165v_dot2c_i32_i16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 166 167// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0x38,0x01,0x00] 168v_dot2c_i32_i16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 169 170// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0x3c,0x01,0x00] 171v_dot2c_i32_i16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 172 173// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0x01,0x01,0x00] 174v_dot2c_i32_i16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 175 176// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0x0f,0x01,0x00] 177v_dot2c_i32_i16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 178 179// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0x11,0x01,0x00] 180v_dot2c_i32_i16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 181 182// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0x1f,0x01,0x00] 183v_dot2c_i32_i16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 184 185// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0x21,0x01,0x00] 186v_dot2c_i32_i16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 187 188// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0x2f,0x01,0x00] 189v_dot2c_i32_i16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 190 191// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0x10] 192v_dot2c_i32_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 193 194// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0x30] 195v_dot2c_i32_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 196 197// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0xf0] 198v_dot2c_i32_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 199 200// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0xf0] 201v_dot2c_i32_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0 202 203// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0x01] 204v_dot2c_i32_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 205 206// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0x03] 207v_dot2c_i32_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 208 209// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0x0f] 210v_dot2c_i32_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf 211 212// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0x0f] 213v_dot2c_i32_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 214 215// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0xe4,0x08,0x00] 216v_dot2c_i32_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 217 218// CHECK: encoding: [0x05,0x00,0x38,0xd1,0x01,0xfb,0x01,0x00] 219v_dot2c_i32_i16_e64 v5, v1, src_scc 220 221// CHECK: encoding: [0x05,0x00,0x38,0xd1,0xff,0xf9,0x01,0x00] 222v_dot2c_i32_i16_e64 v5, v255, src_execz 223 224// CHECK: encoding: [0x05,0x00,0x38,0xd1,0x65,0xca,0x00,0x00] 225v_dot2c_i32_i16_e64 v5, s101, s101 226 227// CHECK: encoding: [0x05,0x00,0x38,0xd1,0xc1,0xcc,0x00,0x00] 228v_dot2c_i32_i16_e64 v5, -1, flat_scratch_lo 229 230// CHECK: encoding: [0x05,0x00,0x38,0xd1,0xf0,0xce,0x00,0x00] 231v_dot2c_i32_i16_e64 v5, 0.5, flat_scratch_hi 232 233// CHECK: encoding: [0x05,0x00,0x38,0xd1,0xfc,0xe0,0x01,0x00] 234v_dot2c_i32_i16_e64 v5, src_execz, 0.5 235 236// CHECK: encoding: [0xff,0x80,0x38,0xd1,0xfd,0x82,0x01,0x00] 237v_dot2c_i32_i16_e64 v255, src_scc, -1 clamp 238 239// CHECK: encoding: [0x01,0x05,0x0a,0x72] 240v_dot4c_i32_i8 v5, v1, v2 241 242// CHECK: encoding: [0x01,0x05,0xfe,0x73] 243v_dot4c_i32_i8 v255, v1, v2 244 245// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0x00] 246v_dot4c_i32_i8_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 247 248// CHECK: encoding: [0xfa,0x04,0xfe,0x73,0x01,0xe4,0x00,0x00] 249v_dot4c_i32_i8_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 250 251// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0xff,0xe4,0x00,0x00] 252v_dot4c_i32_i8_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 253 254// CHECK: encoding: [0xfa,0xfe,0x0b,0x72,0x01,0xe4,0x00,0x00] 255v_dot4c_i32_i8_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 256 257// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0x1b,0x00,0x00] 258v_dot4c_i32_i8_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 259 260// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0x40,0x01,0x00] 261v_dot4c_i32_i8_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 262 263// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0x41,0x01,0x00] 264v_dot4c_i32_i8_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 265 266// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0x42,0x01,0x00] 267v_dot4c_i32_i8_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 268 269// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0x43,0x01,0x00] 270v_dot4c_i32_i8_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 271 272// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0x30,0x01,0x00] 273v_dot4c_i32_i8_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 274 275// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0x34,0x01,0x00] 276v_dot4c_i32_i8_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 277 278// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0x38,0x01,0x00] 279v_dot4c_i32_i8_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 280 281// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0x3c,0x01,0x00] 282v_dot4c_i32_i8_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 283 284// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0x01,0x01,0x00] 285v_dot4c_i32_i8_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 286 287// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0x0f,0x01,0x00] 288v_dot4c_i32_i8_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 289 290// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0x11,0x01,0x00] 291v_dot4c_i32_i8_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 292 293// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0x1f,0x01,0x00] 294v_dot4c_i32_i8_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 295 296// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0x21,0x01,0x00] 297v_dot4c_i32_i8_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 298 299// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0x2f,0x01,0x00] 300v_dot4c_i32_i8_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 301 302// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0x10] 303v_dot4c_i32_i8_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 304 305// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0x30] 306v_dot4c_i32_i8_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 307 308// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0xf0] 309v_dot4c_i32_i8_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 310 311// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0xf0] 312v_dot4c_i32_i8_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0 313 314// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0x01] 315v_dot4c_i32_i8_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 316 317// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0x03] 318v_dot4c_i32_i8_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 319 320// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0x0f] 321v_dot4c_i32_i8_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf 322 323// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0x0f] 324v_dot4c_i32_i8_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 325 326// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0xe4,0x08,0x00] 327v_dot4c_i32_i8_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 328 329// CHECK: encoding: [0x05,0x00,0x39,0xd1,0x01,0xfb,0x01,0x00] 330v_dot4c_i32_i8_e64 v5, v1, src_scc 331 332// CHECK: encoding: [0x05,0x00,0x39,0xd1,0xff,0xf9,0x01,0x00] 333v_dot4c_i32_i8_e64 v5, v255, src_execz 334 335// CHECK: encoding: [0x05,0x00,0x39,0xd1,0x65,0xca,0x00,0x00] 336v_dot4c_i32_i8_e64 v5, s101, s101 337 338// CHECK: encoding: [0x05,0x00,0x39,0xd1,0xc1,0xcc,0x00,0x00] 339v_dot4c_i32_i8_e64 v5, -1, flat_scratch_lo 340 341// CHECK: encoding: [0x05,0x00,0x39,0xd1,0xf0,0xce,0x00,0x00] 342v_dot4c_i32_i8_e64 v5, 0.5, flat_scratch_hi 343 344// CHECK: encoding: [0x05,0x00,0x39,0xd1,0xfc,0xe0,0x01,0x00] 345v_dot4c_i32_i8_e64 v5, src_execz, 0.5 346 347// CHECK: encoding: [0xff,0x80,0x39,0xd1,0xfd,0x82,0x01,0x00] 348v_dot4c_i32_i8_e64 v255, src_scc, -1 clamp 349 350// CHECK: encoding: [0x01,0x05,0x0a,0x74] 351v_dot8c_i32_i4 v5, v1, v2 352 353// CHECK: encoding: [0x01,0x05,0xfe,0x75] 354v_dot8c_i32_i4 v255, v1, v2 355 356// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0x00] 357v_dot8c_i32_i4_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 358 359// CHECK: encoding: [0xfa,0x04,0xfe,0x75,0x01,0xe4,0x00,0x00] 360v_dot8c_i32_i4_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 361 362// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0xff,0xe4,0x00,0x00] 363v_dot8c_i32_i4_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 364 365// CHECK: encoding: [0xfa,0xfe,0x0b,0x74,0x01,0xe4,0x00,0x00] 366v_dot8c_i32_i4_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 367 368// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0x1b,0x00,0x00] 369v_dot8c_i32_i4_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 370 371// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0x40,0x01,0x00] 372v_dot8c_i32_i4_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 373 374// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0x41,0x01,0x00] 375v_dot8c_i32_i4_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 376 377// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0x42,0x01,0x00] 378v_dot8c_i32_i4_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 379 380// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0x43,0x01,0x00] 381v_dot8c_i32_i4_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 382 383// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0x30,0x01,0x00] 384v_dot8c_i32_i4_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 385 386// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0x34,0x01,0x00] 387v_dot8c_i32_i4_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 388 389// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0x38,0x01,0x00] 390v_dot8c_i32_i4_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 391 392// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0x3c,0x01,0x00] 393v_dot8c_i32_i4_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 394 395// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0x01,0x01,0x00] 396v_dot8c_i32_i4_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 397 398// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0x0f,0x01,0x00] 399v_dot8c_i32_i4_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 400 401// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0x11,0x01,0x00] 402v_dot8c_i32_i4_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 403 404// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0x1f,0x01,0x00] 405v_dot8c_i32_i4_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 406 407// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0x21,0x01,0x00] 408v_dot8c_i32_i4_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 409 410// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0x2f,0x01,0x00] 411v_dot8c_i32_i4_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 412 413// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0x10] 414v_dot8c_i32_i4_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 415 416// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0x30] 417v_dot8c_i32_i4_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 418 419// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0xf0] 420v_dot8c_i32_i4_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 421 422// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0xf0] 423v_dot8c_i32_i4_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0 424 425// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0x01] 426v_dot8c_i32_i4_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 427 428// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0x03] 429v_dot8c_i32_i4_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 430 431// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0x0f] 432v_dot8c_i32_i4_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf 433 434// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0x0f] 435v_dot8c_i32_i4_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 436 437// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0xe4,0x08,0x00] 438v_dot8c_i32_i4_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 439 440// CHECK: encoding: [0x05,0x00,0x3a,0xd1,0x01,0xfb,0x01,0x00] 441v_dot8c_i32_i4_e64 v5, v1, src_scc 442 443// CHECK: encoding: [0x05,0x00,0x3a,0xd1,0xff,0xf9,0x01,0x00] 444v_dot8c_i32_i4_e64 v5, v255, src_execz 445 446// CHECK: encoding: [0x05,0x00,0x3a,0xd1,0x65,0xca,0x00,0x00] 447v_dot8c_i32_i4_e64 v5, s101, s101 448 449// CHECK: encoding: [0x05,0x00,0x3a,0xd1,0xc1,0xcc,0x00,0x00] 450v_dot8c_i32_i4_e64 v5, -1, flat_scratch_lo 451 452// CHECK: encoding: [0x05,0x00,0x3a,0xd1,0xf0,0xce,0x00,0x00] 453v_dot8c_i32_i4_e64 v5, 0.5, flat_scratch_hi 454 455// CHECK: encoding: [0x05,0x00,0x3a,0xd1,0xfc,0xe0,0x01,0x00] 456v_dot8c_i32_i4_e64 v5, src_execz, 0.5 457 458// CHECK: encoding: [0xff,0x80,0x3a,0xd1,0xfd,0x82,0x01,0x00] 459v_dot8c_i32_i4_e64 v255, src_scc, -1 clamp 460 461// CHECK: encoding: [0x01,0x05,0x0a,0x78] 462v_pk_fmac_f16 v5, v1, v2 463 464// CHECK: encoding: [0x01,0x05,0xfe,0x79] 465v_pk_fmac_f16 v255, v1, v2 466 467// CHECK: encoding: [0xff,0x05,0x0a,0x78] 468v_pk_fmac_f16 v5, v255, v2 469 470// CHECK: encoding: [0x01,0x04,0x0a,0x78] 471v_pk_fmac_f16 v5, s1, v2 472 473// CHECK: encoding: [0x6a,0x04,0x0a,0x78] 474v_pk_fmac_f16 v5, vcc_lo, v2 475 476// CHECK: encoding: [0x6b,0x04,0x0a,0x78] 477v_pk_fmac_f16 v5, vcc_hi, v2 478 479// CHECK: encoding: [0x77,0x04,0x0a,0x78] 480v_pk_fmac_f16 v5, ttmp11, v2 481 482// CHECK: encoding: [0x7c,0x04,0x0a,0x78] 483v_pk_fmac_f16 v5, m0, v2 484 485// CHECK: encoding: [0x7e,0x04,0x0a,0x78] 486v_pk_fmac_f16 v5, exec_lo, v2 487 488// CHECK: encoding: [0x7f,0x04,0x0a,0x78] 489v_pk_fmac_f16 v5, exec_hi, v2 490 491// CHECK: encoding: [0x80,0x04,0x0a,0x78] 492v_pk_fmac_f16 v5, 0, v2 493 494// CHECK: encoding: [0xc1,0x04,0x0a,0x78] 495v_pk_fmac_f16 v5, -1, v2 496 497// CHECK: encoding: [0xf0,0x04,0x0a,0x78] 498v_pk_fmac_f16 v5, 0.5, v2 499 500// CHECK: encoding: [0xf7,0x04,0x0a,0x78] 501v_pk_fmac_f16 v5, -4.0, v2 502 503// CHECK: encoding: [0x01,0xff,0x0b,0x78] 504v_pk_fmac_f16 v5, v1, v255 505