brintos

brintos / llvm-project-archived public Read only

0
0
Text · 23.8 KiB · 7317ab0 Raw
511 lines · plain
1// RUN: not llvm-mc -triple=amdgcn -mcpu=tahiti -show-encoding %s | FileCheck %s --check-prefix=GCN --check-prefix=SICI2// RUN: not llvm-mc -triple=amdgcn -mcpu=bonaire -show-encoding %s | FileCheck %s --check-prefix=GCN --check-prefix=SICI3// RUN: not llvm-mc -triple=amdgcn -mcpu=tonga -show-encoding %s | FileCheck %s --check-prefix=GCN --check-prefix=VI4 5// RUN: not llvm-mc -triple=amdgcn -mcpu=tahiti %s 2>&1 | FileCheck %s --check-prefix=NOSICI --implicit-check-not=error:6// RUN: not llvm-mc -triple=amdgcn -mcpu=bonaire %s 2>&1 | FileCheck %s --check-prefix=NOSICI --implicit-check-not=error:7// RUN: not llvm-mc -triple=amdgcn -mcpu=tonga %s 2>&1 | FileCheck %s -check-prefix=NOVI --implicit-check-not=error:8 9//===----------------------------------------------------------------------===//10// Generic Checks for floating-point instructions (These have modifiers).11//===----------------------------------------------------------------------===//12 13// TODO: 64-bit encoding of instructions with modifiers14 15// _e32 suffix16// SICI: v_add_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x06]17// VI: v_add_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x02]18v_add_f32_e32 v1, v2, v319 20// src0 inline immediate21// SICI: v_add_f32_e32 v1, 1.0, v3 ; encoding: [0xf2,0x06,0x02,0x06]22// VI: v_add_f32_e32 v1, 1.0, v3 ; encoding: [0xf2,0x06,0x02,0x02]23v_add_f32 v1, 1.0, v324 25// src0 negative inline immediate26// SICI: v_add_f32_e32 v1, -1.0, v3 ; encoding: [0xf3,0x06,0x02,0x06]27// VI: v_add_f32_e32 v1, -1.0, v3 ; encoding: [0xf3,0x06,0x02,0x02]28v_add_f32 v1, -1.0, v329 30// src0 literal31// SICI: v_add_f32_e32 v1, 0x42c80000, v3 ; encoding: [0xff,0x06,0x02,0x06,0x00,0x00,0xc8,0x42]32// VI: v_add_f32_e32 v1, 0x42c80000, v3 ; encoding: [0xff,0x06,0x02,0x02,0x00,0x00,0xc8,0x42]33v_add_f32 v1, 100.0, v334 35// src0 negative literal36// SICI: v_add_f32_e32 v1, 0xc2c80000, v3 ; encoding: [0xff,0x06,0x02,0x06,0x00,0x00,0xc8,0xc2]37// VI: v_add_f32_e32 v1, 0xc2c80000, v3 ; encoding: [0xff,0x06,0x02,0x02,0x00,0x00,0xc8,0xc2]38v_add_f32 v1, -100.0, v339 40//===----------------------------------------------------------------------===//41// Generic Checks for integer instructions (These don't have modifiers).42//===----------------------------------------------------------------------===//43 44// _e32 suffix45// SICI: v_mul_i32_i24_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x12]46// VI: v_mul_i32_i24_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x0c]47v_mul_i32_i24_e32 v1, v2, v348 49// _e64 suffix50// SICI: v_mul_i32_i24_e64 v1, v2, v3 ; encoding: [0x01,0x00,0x12,0xd2,0x02,0x07,0x02,0x00]51// VI: v_mul_i32_i24_e64 v1, v2, v3 ; encoding: [0x01,0x00,0x06,0xd1,0x02,0x07,0x02,0x00]52v_mul_i32_i24_e64 v1, v2, v353 54// src0 inline55// SICI: v_mul_i32_i24_e32 v1, 3, v3 ; encoding: [0x83,0x06,0x02,0x12]56// VI: v_mul_i32_i24_e32 v1, 3, v3 ; encoding: [0x83,0x06,0x02,0x0c]57v_mul_i32_i24_e32 v1, 3, v358 59// src0 negative inline60// SICI: v_mul_i32_i24_e32 v1, -3, v3 ; encoding: [0xc3,0x06,0x02,0x12]61// VI: v_mul_i32_i24_e32 v1, -3, v3 ; encoding: [0xc3,0x06,0x02,0x0c]62v_mul_i32_i24_e32 v1, -3, v363 64// src1 inline65// SICI: v_mul_i32_i24_e64 v1, v2, 3 ; encoding: [0x01,0x00,0x12,0xd2,0x02,0x07,0x01,0x00]66// VI: v_mul_i32_i24_e64 v1, v2, 3 ; encoding: [0x01,0x00,0x06,0xd1,0x02,0x07,0x01,0x00]67v_mul_i32_i24_e64 v1, v2, 368 69// src1 negative inline70// SICI: v_mul_i32_i24_e64 v1, v2, -3 ; encoding: [0x01,0x00,0x12,0xd2,0x02,0x87,0x01,0x00]71// VI: v_mul_i32_i24_e64 v1, v2, -3 ; encoding: [0x01,0x00,0x06,0xd1,0x02,0x87,0x01,0x00]72v_mul_i32_i24_e64 v1, v2, -373 74// src0 literal75// SICI: v_mul_i32_i24_e32 v1, 0x64, v3 ; encoding: [0xff,0x06,0x02,0x12,0x64,0x00,0x00,0x00]76// VI: v_mul_i32_i24_e32 v1, 0x64, v3 ; encoding: [0xff,0x06,0x02,0x0c,0x64,0x00,0x00,0x00]77v_mul_i32_i24_e32 v1, 100, v378 79// src1 negative literal80// SICI: v_mul_i32_i24_e32 v1, 0xffffff9c, v3 ; encoding: [0xff,0x06,0x02,0x12,0x9c,0xff,0xff,0xff]81// VI: v_mul_i32_i24_e32 v1, 0xffffff9c, v3 ; encoding: [0xff,0x06,0x02,0x0c,0x9c,0xff,0xff,0xff]82v_mul_i32_i24_e32 v1, -100, v383 84//===----------------------------------------------------------------------===//85// Checks for legal operands86//===----------------------------------------------------------------------===//87 88// src0 sgpr89// SICI: v_mul_i32_i24_e32 v1, s2, v3 ; encoding: [0x02,0x06,0x02,0x12]90// VI: v_mul_i32_i24_e32 v1, s2, v3 ; encoding: [0x02,0x06,0x02,0x0c]91v_mul_i32_i24_e32 v1, s2, v392 93// src1 sgpr94// SICI: v_mul_i32_i24_e64 v1, v2, s3 ; encoding: [0x01,0x00,0x12,0xd2,0x02,0x07,0x00,0x00]95// VI: v_mul_i32_i24_e64 v1, v2, s3 ; encoding: [0x01,0x00,0x06,0xd1,0x02,0x07,0x00,0x00]96v_mul_i32_i24_e64 v1, v2, s397 98// src0, src1 same sgpr99// SICI: v_mul_i32_i24_e64 v1, s2, s2 ; encoding: [0x01,0x00,0x12,0xd2,0x02,0x04,0x00,0x00]100// VI: v_mul_i32_i24_e64 v1, s2, s2 ; encoding: [0x01,0x00,0x06,0xd1,0x02,0x04,0x00,0x00]101v_mul_i32_i24_e64 v1, s2, s2102 103// src0 sgpr, src1 inline104// SICI: v_mul_i32_i24_e64 v1, s2, 3 ; encoding: [0x01,0x00,0x12,0xd2,0x02,0x06,0x01,0x00]105// VI: v_mul_i32_i24_e64 v1, s2, 3 ; encoding: [0x01,0x00,0x06,0xd1,0x02,0x06,0x01,0x00]106v_mul_i32_i24_e64 v1, s2, 3107 108// src0 inline src1 sgpr109// SICI: v_mul_i32_i24_e64 v1, 3, s3 ; encoding: [0x01,0x00,0x12,0xd2,0x83,0x06,0x00,0x00]110// VI: v_mul_i32_i24_e64 v1, 3, s3 ; encoding: [0x01,0x00,0x06,0xd1,0x83,0x06,0x00,0x00]111v_mul_i32_i24_e64 v1, 3, s3112 113// SICI: v_add_i32_e32 v0, vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x4a]114// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: instruction not supported on this GPU115v_add_i32_e32 v0, vcc, 0.5, v0116 117// SICI: v_add_i32_e32 v0, vcc, 0x40480000, v0 ; encoding: [0xff,0x00,0x00,0x4a,0x00,0x00,0x48,0x40]118// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: instruction not supported on this GPU119v_add_i32_e32 v0, vcc, 3.125, v0120 121//===----------------------------------------------------------------------===//122// Instructions123//===----------------------------------------------------------------------===//124 125// GCN: v_cndmask_b32_e32 v1, v2, v3, vcc ; encoding: [0x02,0x07,0x02,0x00]126v_cndmask_b32 v1, v2, v3, vcc127 128// GCN: v_cndmask_b32_e32 v1, v2, v3, vcc ; encoding: [0x02,0x07,0x02,0x00]129v_cndmask_b32_e32 v1, v2, v3, vcc130 131// SICI: v_readlane_b32 s1, v2, s3 ; encoding: [0x02,0x07,0x02,0x02]132// VI:   v_readlane_b32 s1, v2, s3 ; encoding: [0x01,0x00,0x89,0xd2,0x02,0x07,0x00,0x00]133v_readlane_b32 s1, v2, s3134 135// SICI: v_writelane_b32 v1, s2, 4 ; encoding: [0x02,0x08,0x03,0x04]136// VI:   v_writelane_b32 v1, s2, 4 ; encoding: [0x01,0x00,0x8a,0xd2,0x02,0x08,0x01,0x00]137v_writelane_b32 v1, s2, 4138 139// SICI: v_writelane_b32 v2, 1, s4 ; encoding: [0x81,0x08,0x04,0x04]140// VI:   v_writelane_b32 v2, 1, s4 ; encoding: [0x02,0x00,0x8a,0xd2,0x81,0x08,0x00,0x00]141v_writelane_b32 v2, 1, s4142 143// SICI: v_writelane_b32 v255, 0xaf123456, 2 ; encoding: [0xff,0x04,0xff,0x05,0x56,0x34,0x12,0xaf]144// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode145v_writelane_b32 v255, 0xaf123456, 2146 147// SICI: v_add_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x06]148// VI:   v_add_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x02]149v_add_f32 v1, v2, v3150 151// SICI: v_sub_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x08]152// VI:   v_sub_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x04]153v_sub_f32 v1, v2, v3154 155// SICI: v_subrev_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x0a]156// VI:   v_subrev_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x06]157v_subrev_f32 v1, v2, v3158 159// SICI: v_mac_legacy_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x0c]160// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: instruction not supported on this GPU161v_mac_legacy_f32 v1, v2, v3162 163// SICI: v_mul_legacy_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x0e]164// VI:   v_mul_legacy_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x08]165v_mul_legacy_f32_e32 v1, v2, v3166 167// SICI: v_mul_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x10]168// VI:   v_mul_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x0a]169v_mul_f32 v1, v2, v3170 171// SICI: v_mul_i32_i24_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x12]172// VI:   v_mul_i32_i24_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x0c]173v_mul_i32_i24_e32 v1, v2, v3174 175// SICI: v_mul_hi_i32_i24_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x14]176// VI:   v_mul_hi_i32_i24_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x0e]177v_mul_hi_i32_i24_e32 v1, v2, v3178 179// SICI: v_mul_u32_u24_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x16]180// VI:   v_mul_u32_u24_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x10]181v_mul_u32_u24_e32 v1, v2, v3182 183// SICI: v_mul_hi_u32_u24_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x18]184// VI:   v_mul_hi_u32_u24_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x12]185v_mul_hi_u32_u24_e32 v1, v2, v3186 187// SICI: v_min_legacy_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x1a]188// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: instruction not supported on this GPU189v_min_legacy_f32_e32 v1, v2, v3190 191// SICI: v_max_legacy_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x1c]192// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: instruction not supported on this GPU193v_max_legacy_f32 v1, v2, v3194 195// SICI: v_min_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x1e]196// VI:   v_min_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x14]197v_min_f32_e32 v1, v2, v3198 199// SICI: v_max_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x20]200// VI:   v_max_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x16]201v_max_f32 v1, v2 v3202 203// SICI: v_min_i32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x22]204// VI:   v_min_i32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x18]205v_min_i32_e32 v1, v2, v3206 207// SICI: v_max_i32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x24]208// VI:   v_max_i32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x1a]209v_max_i32_e32 v1, v2, v3210 211// SICI: v_min_u32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x26]212// VI:   v_min_u32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x1c]213v_min_u32_e32 v1, v2, v3214 215// SICI: v_max_u32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x28]216// VI:   v_max_u32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x1e]217v_max_u32_e32 v1, v2, v3218 219// SICI: v_lshr_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x2a]220// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: instruction not supported on this GPU221v_lshr_b32_e32 v1, v2, v3222 223// SICI: v_lshrrev_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x2c]224// VI:   v_lshrrev_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x20]225v_lshrrev_b32_e32 v1, v2, v3226 227// SICI: v_ashr_i32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x2e]228// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: instruction not supported on this GPU229v_ashr_i32_e32 v1, v2, v3230 231// SICI: v_ashrrev_i32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x30]232// VI:   v_ashrrev_i32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x22]233v_ashrrev_i32_e32 v1, v2, v3234 235// SICI: v_lshl_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x32]236// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: instruction not supported on this GPU237v_lshl_b32_e32 v1, v2, v3238 239// SICI: v_lshlrev_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x34]240// VI:   v_lshlrev_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x24]241v_lshlrev_b32_e32 v1, v2, v3242 243// SICI: v_and_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x36]244// VI:   v_and_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x26]245v_and_b32_e32 v1, v2, v3246 247// SICI: v_or_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x38]248// VI:   v_or_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x28]249v_or_b32_e32 v1, v2, v3250 251// SICI: v_xor_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x3a]252// VI:   v_xor_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x2a]253v_xor_b32_e32 v1, v2, v3254 255// SICI: v_bfm_b32_e64 v1, v2, v3 ; encoding: [0x01,0x00,0x3c,0xd2,0x02,0x07,0x02,0x00]256// VI:   v_bfm_b32 v1, v2, v3 ; encoding: [0x01,0x00,0x93,0xd2,0x02,0x07,0x02,0x00]257v_bfm_b32_e64 v1, v2, v3258 259// SICI: v_mac_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x3e]260// VI:   v_mac_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x2c]261v_mac_f32_e32 v1, v2, v3262 263// SICI: v_madmk_f32 v1, v2, 0x42800000, v3 ; encoding: [0x02,0x07,0x02,0x40,0x00,0x00,0x80,0x42]264// VI:   v_madmk_f32 v1, v2, 0x42800000, v3 ; encoding: [0x02,0x07,0x02,0x2e,0x00,0x00,0x80,0x42]265v_madmk_f32 v1, v2, 64.0, v3266 267// SICI: v_madak_f32 v1, v2, v3, 0x42800000 ; encoding: [0x02,0x07,0x02,0x42,0x00,0x00,0x80,0x42]268// VI:   v_madak_f32 v1, v2, v3, 0x42800000 ; encoding: [0x02,0x07,0x02,0x30,0x00,0x00,0x80,0x42]269v_madak_f32 v1, v2, v3, 64.0270 271// SICI: v_madak_f32 v0, 0x11213141, v0, 0x11213141 ; encoding: [0xff,0x00,0x00,0x42,0x41,0x31,0x21,0x11]272// VI: v_madak_f32 v0, 0x11213141, v0, 0x11213141 ; encoding: [0xff,0x00,0x00,0x30,0x41,0x31,0x21,0x11]273v_madak_f32 v0, 0x11213141, v0, 0x11213141274 275// SICI: v_madmk_f32 v0, 0x11213141, 0x11213141, v0 ; encoding: [0xff,0x00,0x00,0x40,0x41,0x31,0x21,0x11]276// VI: v_madmk_f32 v0, 0x11213141, 0x11213141, v0 ; encoding: [0xff,0x00,0x00,0x2e,0x41,0x31,0x21,0x11]277v_madmk_f32 v0, 0x11213141, 0x11213141, v0278 279// SICI: v_bcnt_u32_b32_e64 v1, v2, v3 ; encoding: [0x01,0x00,0x44,0xd2,0x02,0x07,0x02,0x00]280// VI:   v_bcnt_u32_b32 v1, v2, v3 ; encoding: [0x01,0x00,0x8b,0xd2,0x02,0x07,0x02,0x00]281v_bcnt_u32_b32_e64 v1, v2, v3282 283// SICI: v_mbcnt_lo_u32_b32_e64 v1, v2, v3 ; encoding: [0x01,0x00,0x46,0xd2,0x02,0x07,0x02,0x00]284// VI:   v_mbcnt_lo_u32_b32 v1, v2, v3 ; encoding: [0x01,0x00,0x8c,0xd2,0x02,0x07,0x02,0x00]285v_mbcnt_lo_u32_b32_e64 v1, v2, v3286 287// SICI: v_mbcnt_hi_u32_b32_e64 v1, v2, v3 ; encoding: [0x01,0x00,0x48,0xd2,0x02,0x07,0x02,0x00]288// VI:   v_mbcnt_hi_u32_b32 v1, v2, v3 ; encoding: [0x01,0x00,0x8d,0xd2,0x02,0x07,0x02,0x00]289v_mbcnt_hi_u32_b32_e64 v1, v2, v3290 291// SICI: v_add_i32_e32 v1, vcc, v2, v3 ; encoding: [0x02,0x07,0x02,0x4a]292// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: instruction not supported on this GPU293v_add_i32_e32 v1, vcc, v2, v3294 295// SICI: v_add_i32_e64 v1, s[0:1], v2, v3 ; encoding: [0x01,0x00,0x4a,0xd2,0x02,0x07,0x02,0x00]296// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: instruction not supported on this GPU297v_add_i32 v1, s[0:1], v2, v3298 299// SICI: v_add_i32_e64 v1, s[0:1], v2, v3 ; encoding: [0x01,0x00,0x4a,0xd2,0x02,0x07,0x02,0x00]300// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: instruction not supported on this GPU301v_add_i32_e64 v1, s[0:1], v2, v3302 303// SICI: v_add_i32_e64 v1, vcc, v2, v3 ; encoding: [0x01,0x6a,0x4a,0xd2,0x02,0x07,0x02,0x00]304// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: instruction not supported on this GPU305v_add_i32_e64 v1, vcc, v2, v3306 307// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU308// VI: v_add_u32_e32 v1, vcc, v2, v3   ; encoding: [0x02,0x07,0x02,0x32]309v_add_u32 v1, vcc, v2, v3310 311// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU312// VI: v_add_u32_e64 v1, s[0:1], v2, v3 ; encoding: [0x01,0x00,0x19,0xd1,0x02,0x07,0x02,0x00]313v_add_u32 v1, s[0:1], v2, v3314 315// SICI: v_sub_i32_e32 v1, vcc, v2, v3 ; encoding: [0x02,0x07,0x02,0x4c]316// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: instruction not supported on this GPU317v_sub_i32 v1, vcc, v2, v3318 319// SICI: v_sub_i32_e64 v1, s[0:1], v2, v3 ; encoding: [0x01,0x00,0x4c,0xd2,0x02,0x07,0x02,0x00]320// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: instruction not supported on this GPU321v_sub_i32 v1, s[0:1], v2, v3322 323// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU324// VI:   v_sub_u32_e32 v1, vcc, v2, v3 ; encoding: [0x02,0x07,0x02,0x34]325v_sub_u32 v1, vcc, v2, v3326 327// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU328// VI:   v_sub_u32_e64 v1, s[0:1], v2, v3 ; encoding: [0x01,0x00,0x1a,0xd1,0x02,0x07,0x02,0x00]329v_sub_u32 v1, s[0:1], v2, v3330 331// SICI: v_subrev_i32_e32 v1, vcc, v2, v3 ; encoding: [0x02,0x07,0x02,0x4e]332// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: instruction not supported on this GPU333v_subrev_i32 v1, vcc, v2, v3334 335// SICI: v_subrev_i32_e64 v1, s[0:1], v2, v3 ; encoding: [0x01,0x00,0x4e,0xd2,0x02,0x07,0x02,0x00]336// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: instruction not supported on this GPU337v_subrev_i32 v1, s[0:1], v2, v3338 339// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU340// VI:   v_subrev_u32_e32 v1, vcc, v2, v3 ; encoding: [0x02,0x07,0x02,0x36]341v_subrev_u32 v1, vcc, v2, v3342 343// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU344// VI:   v_subrev_u32_e64 v1, s[0:1], v2, v3 ; encoding: [0x01,0x00,0x1b,0xd1,0x02,0x07,0x02,0x00]345v_subrev_u32 v1, s[0:1], v2, v3346 347// SICI: v_addc_u32_e32 v1, vcc, v2, v3, vcc ; encoding: [0x02,0x07,0x02,0x50]348// VI:   v_addc_u32_e32 v1, vcc, v2, v3, vcc ; encoding: [0x02,0x07,0x02,0x38]349v_addc_u32 v1, vcc, v2, v3, vcc350 351// SICI: v_addc_u32_e32 v1, vcc, v2, v3, vcc ; encoding: [0x02,0x07,0x02,0x50]352// VI:   v_addc_u32_e32 v1, vcc, v2, v3, vcc ; encoding: [0x02,0x07,0x02,0x38]353v_addc_u32_e32 v1, vcc, v2, v3, vcc354 355 356// SICI: v_addc_u32_e64 v1, s[0:1], v2, v3, vcc ; encoding: [0x01,0x00,0x50,0xd2,0x02,0x07,0xaa,0x01]357// VI: v_addc_u32_e64 v1, s[0:1], v2, v3, vcc ; encoding: [0x01,0x00,0x1c,0xd1,0x02,0x07,0xaa,0x01]358v_addc_u32 v1, s[0:1], v2, v3, vcc359 360// SICI: v_addc_u32_e64 v1, s[0:1], v2, v3, s[2:3] ; encoding: [0x01,0x00,0x50,0xd2,0x02,0x07,0x0a,0x00]361// VI: v_addc_u32_e64 v1, s[0:1], v2, v3, s[2:3] ; encoding: [0x01,0x00,0x1c,0xd1,0x02,0x07,0x0a,0x00]362v_addc_u32 v1, s[0:1], v2, v3, s[2:3]363 364// SICI: 	v_addc_u32_e64 v1, s[0:1], v2, v3, s[2:3] ; encoding: [0x01,0x00,0x50,0xd2,0x02,0x07,0x0a,0x00]365// VI: v_addc_u32_e64 v1, s[0:1], v2, v3, s[2:3] ; encoding: [0x01,0x00,0x1c,0xd1,0x02,0x07,0x0a,0x00]366v_addc_u32_e64 v1, s[0:1], v2, v3, s[2:3]367 368// SICI: v_addc_u32_e64 v1, vcc, v2, v3, vcc ; encoding: [0x01,0x6a,0x50,0xd2,0x02,0x07,0xaa,0x01]369// VI: v_addc_u32_e64 v1, vcc, v2, v3, vcc ; encoding: [0x01,0x6a,0x1c,0xd1,0x02,0x07,0xaa,0x01]370v_addc_u32_e64 v1, vcc, v2, v3, vcc371 372// SICI: v_subb_u32_e32 v1, vcc, v2, v3, vcc ; encoding: [0x02,0x07,0x02,0x52]373// VI: v_subb_u32_e32 v1, vcc, v2, v3, vcc ; encoding: [0x02,0x07,0x02,0x3a]374v_subb_u32 v1, vcc, v2, v3, vcc375 376// SICI: v_subb_u32_e64 v1, s[0:1], v2, v3, vcc ; encoding: [0x01,0x00,0x52,0xd2,0x02,0x07,0xaa,0x01]377// VI: v_subb_u32_e64 v1, s[0:1], v2, v3, vcc ; encoding: [0x01,0x00,0x1d,0xd1,0x02,0x07,0xaa,0x01]378v_subb_u32 v1, s[0:1], v2, v3, vcc379 380// SICI: v_subbrev_u32_e32 v1, vcc, v2, v3, vcc ; encoding: [0x02,0x07,0x02,0x54]381// VI:   v_subbrev_u32_e32 v1, vcc, v2, v3, vcc ; encoding: [0x02,0x07,0x02,0x3c]382v_subbrev_u32 v1, vcc, v2, v3, vcc383 384// SICI: v_subbrev_u32_e64 v1, s[0:1], v2, v3, vcc ; encoding: [0x01,0x00,0x54,0xd2,0x02,0x07,0xaa,0x01]385// VI: v_subbrev_u32_e64 v1, s[0:1], v2, v3, vcc ; encoding: [0x01,0x00,0x1e,0xd1,0x02,0x07,0xaa,0x01]386v_subbrev_u32 v1, s[0:1], v2, v3, vcc387 388// SICI: v_ldexp_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x56]389// VI:   v_ldexp_f32 v1, v2, v3 ; encoding: [0x01,0x00,0x88,0xd2,0x02,0x07,0x02,0x00]390v_ldexp_f32 v1, v2, v3391 392// SICI: v_cvt_pkaccum_u8_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x58]393// VI:   v_cvt_pkaccum_u8_f32 v1, v2, v3 ; encoding: [0x01,0x00,0xf0,0xd1,0x02,0x07,0x02,0x00]394v_cvt_pkaccum_u8_f32 v1, v2, v3395 396// SICI: v_cvt_pknorm_i16_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x5a]397// VI:   v_cvt_pknorm_i16_f32 v1, v2, v3 ; encoding: [0x01,0x00,0x94,0xd2,0x02,0x07,0x02,0x00]398v_cvt_pknorm_i16_f32 v1, v2, v3399 400// SICI: v_cvt_pknorm_u16_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x5c]401// VI:   v_cvt_pknorm_u16_f32 v1, v2, v3 ; encoding: [0x01,0x00,0x95,0xd2,0x02,0x07,0x02,0x00]402v_cvt_pknorm_u16_f32 v1, v2, v3403 404// SICI: v_cvt_pkrtz_f16_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x5e]405// VI:   v_cvt_pkrtz_f16_f32 v1, v2, v3 ; encoding: [0x01,0x00,0x96,0xd2,0x02,0x07,0x02,0x00]406v_cvt_pkrtz_f16_f32 v1, v2, v3407 408// SICI: v_cvt_pk_u16_u32_e64 v1, v2, v3 ; encoding: [0x01,0x00,0x60,0xd2,0x02,0x07,0x02,0x00]409// VI:   v_cvt_pk_u16_u32 v1, v2, v3 ; encoding: [0x01,0x00,0x97,0xd2,0x02,0x07,0x02,0x00]410v_cvt_pk_u16_u32_e64 v1, v2, v3411 412// SICI: v_cvt_pk_i16_i32_e64 v1, v2, v3 ; encoding: [0x01,0x00,0x62,0xd2,0x02,0x07,0x02,0x00]413// VI:   v_cvt_pk_i16_i32 v1, v2, v3 ; encoding: [0x01,0x00,0x98,0xd2,0x02,0x07,0x02,0x00]414v_cvt_pk_i16_i32_e64 v1, v2, v3415 416// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU417// VI:     v_add_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x3e]418v_add_f16_e32 v1, v2, v3419 420// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU421// VI:     v_sub_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x40]422v_sub_f16_e32 v1, v2, v3423 424// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU425// VI:     v_subrev_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x42]426v_subrev_f16_e32 v1, v2, v3427 428// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU429// VI:     v_mul_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x44]430v_mul_f16_e32 v1, v2, v3431 432// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU433// VI:     v_mac_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x46]434v_mac_f16_e32 v1, v2, v3435 436// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU437// VI:     v_madmk_f16 v1, v2, 0x5400, v3 ; encoding: [0x02,0x07,0x02,0x48,0x00,0x54,0x00,0x00]438v_madmk_f16 v1, v2, 64.0, v3439 440// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU441// VI:     v_madak_f16 v1, v2, v3, 0x5400 ; encoding: [0x02,0x07,0x02,0x4a,0x00,0x54,0x00,0x00]442v_madak_f16 v1, v2, v3, 64.0443 444// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU445// VI:     v_add_u16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x4c]446v_add_u16_e32 v1, v2, v3447 448// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU449// VI:     v_add_u16_e64 v1, v2, v3 clamp  ; encoding: [0x01,0x80,0x26,0xd1,0x02,0x07,0x02,0x00]450v_add_u16 v1, v2, v3 clamp451 452// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU453// VI:     v_sub_u16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x4e]454v_sub_u16_e32 v1, v2, v3455 456// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU457// VI:     v_sub_u16_e64 v1, v2, v3 clamp  ; encoding: [0x01,0x80,0x27,0xd1,0x02,0x07,0x02,0x00]458v_sub_u16 v1, v2, v3 clamp459 460// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU461// VI:     v_subrev_u16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x50]462v_subrev_u16_e32 v1, v2, v3463 464// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU465// VI:     v_subrev_u16_e64 v1, v2, v3 clamp ; encoding: [0x01,0x80,0x28,0xd1,0x02,0x07,0x02,0x00]466v_subrev_u16 v1, v2, v3 clamp467 468// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU469// VI:     v_mul_lo_u16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x52]470v_mul_lo_u16_e32 v1, v2, v3471 472// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU473// VI:     v_lshlrev_b16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x54]474v_lshlrev_b16_e32 v1, v2, v3475 476// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU477// VI: v_lshrrev_b16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x56]478v_lshrrev_b16_e32 v1, v2, v3479 480// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU481// VI:     v_ashrrev_i16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x58]482v_ashrrev_i16_e32 v1, v2, v3483 484// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU485// VI:     v_max_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x5a]486v_max_f16_e32 v1, v2, v3487 488// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU489// VI:     v_min_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x5c]490v_min_f16_e32 v1, v2, v3491 492// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU493// VI:     v_max_u16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x5e]494v_max_u16_e32 v1, v2, v3495 496// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU497// VI:     v_max_i16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x60]498v_max_i16_e32 v1, v2, v3499 500// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU501// VI:     v_min_u16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x62]502v_min_u16_e32 v1, v2, v3503 504// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU505// VI:     v_min_i16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x64]506v_min_i16_e32 v1, v2, v3507 508// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU509// VI:     v_ldexp_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x66]510v_ldexp_f16_e32 v1, v2, v3511