1 // RUN
: llvm-mc
-arch
=amdgcn
-mcpu
=gfx90a
-show-encoding
%s | FileCheck
%s
--check-prefix
=GFX90A
2 // RUN
: not llvm-mc
-arch
=amdgcn
-mcpu
=gfx900
%s
2>&1 | FileCheck
%s
--check-prefix
=GFX900
--implicit-check-
not=error
:
4 // GFX90A
: v_ceil_f64_dpp v
[0:1], v
[2:3] row_newbcast
:1 row_mask
:0xf bank_mask
:0xf ; encoding
: [0xfa,0x30,0x00,0x7e,0x02,0x51,0x01,0xff]
5 // GFX900
: error
: not a valid operand.
6 v_ceil_f64 v
[0:1], v
[2:3] row_newbcast
:1
8 // GFX90A
: v_fmac_f64_dpp v
[0:1], v
[2:3], v
[4:5] row_newbcast
:2 row_mask
:0xf bank_mask
:0xf ; encoding
: [0xfa,0x08,0x00,0x08,0x02,0x52,0x01,0xff]
9 // GFX900
: error
: instruction
not supported on this GPU
10 v_fmac_f64 v
[0:1], v
[2:3], v
[4:5] row_newbcast
:2
12 // GFX90A
: v_cvt_f32_f64_dpp v5
, v
[0:1] row_newbcast
:15 row_mask
:0xf bank_mask
:0xf ; encoding
: [0xfa,0x1e,0x0a,0x7e,0x00,0x5f,0x01,0xff]
13 // GFX900
: error
: not a valid operand.
14 v_cvt_f32_f64 v5
, v
[0:1] row_newbcast
:15
16 // GFX90A
: v_cvt_i32_f64_dpp v5
, v
[0:1] row_newbcast
:1 row_mask
:0xf bank_mask
:0xf ; encoding
: [0xfa,0x06,0x0a,0x7e,0x00,0x51,0x01,0xff]
17 // GFX900
: error
: not a valid operand.
18 v_cvt_i32_f64 v5
, v
[0:1] row_newbcast
:1
20 // GFX90A
: v_cvt_u32_f64_dpp v5
, v
[0:1] row_newbcast
:2 row_mask
:0xf bank_mask
:0xf ; encoding
: [0xfa,0x2a,0x0a,0x7e,0x00,0x52,0x01,0xff]
21 // GFX900
: error
: not a valid operand.
22 v_cvt_u32_f64 v5
, v
[0:1] row_newbcast
:2
24 // GFX90A
: v_floor_f64_dpp v
[4:5], v
[0:1] row_newbcast
:15 row_mask
:0xf bank_mask
:0xf ; encoding
: [0xfa,0x34,0x08,0x7e,0x00,0x5f,0x01,0xff]
25 // GFX900
: error
: not a valid operand.
26 v_floor_f64 v
[4:5], v
[0:1] row_newbcast
:15
28 // GFX90A
: v_fract_f64_dpp v
[4:5], v
[0:1] row_newbcast
:1 row_mask
:0xf bank_mask
:0xf ; encoding
: [0xfa,0x64,0x08,0x7e,0x00,0x51,0x01,0xff]
29 // GFX900
: error
: not a valid operand.
30 v_fract_f64 v
[4:5], v
[0:1] row_newbcast
:1
32 // GFX90A
: v_frexp_exp_i32_f64_dpp v5
, v
[0:1] row_newbcast
:1 row_mask
:0xf bank_mask
:0xf ; encoding
: [0xfa,0x60,0x0a,0x7e,0x00,0x51,0x01,0xff]
33 // GFX900
: error
: not a valid operand.
34 v_frexp_exp_i32_f64 v5
, v
[0:1] row_newbcast
:1
36 // GFX90A
: v_frexp_mant_f64_dpp v
[4:5], v
[0:1] row_newbcast
:1 row_mask
:0xf bank_mask
:0xf ; encoding
: [0xfa,0x62,0x08,0x7e,0x00,0x51,0x01,0xff]
37 // GFX900
: error
: not a valid operand.
38 v_frexp_mant_f64 v
[4:5], v
[0:1] row_newbcast
:1
40 // GFX90A
: v_rcp_f64_dpp v
[4:5], v
[0:1] row_newbcast
:1 row_mask
:0xf bank_mask
:0xf ; encoding
: [0xfa,0x4a,0x08,0x7e,0x00,0x51,0x01,0xff]
41 // GFX900
: error
: not a valid operand.
42 v_rcp_f64 v
[4:5], v
[0:1] row_newbcast
:1
44 // GFX90A
: v_rndne_f64_dpp v
[4:5], v
[0:1] row_newbcast
:1 row_mask
:0xf bank_mask
:0xf ; encoding
: [0xfa,0x32,0x08,0x7e,0x00,0x51,0x01,0xff]
45 // GFX900
: error
: not a valid operand.
46 v_rndne_f64 v
[4:5], v
[0:1] row_newbcast
:1
48 // GFX90A
: v_rsq_f64_dpp v
[4:5], v
[0:1] row_newbcast
:1 row_mask
:0xf bank_mask
:0xf ; encoding
: [0xfa,0x4c,0x08,0x7e,0x00,0x51,0x01,0xff]
49 // GFX900
: error
: not a valid operand.
50 v_rsq_f64 v
[4:5], v
[0:1] row_newbcast
:1
52 // GFX90A
: v_sqrt_f64_dpp v
[4:5], v
[0:1] row_newbcast
:1 row_mask
:0xf bank_mask
:0xf ; encoding
: [0xfa,0x50,0x08,0x7e,0x00,0x51,0x01,0xff]
53 // GFX900
: error
: not a valid operand.
54 v_sqrt_f64 v
[4:5], v
[0:1] row_newbcast
:1
56 // GFX90A
: v_trunc_f64_dpp v
[4:5], v
[0:1] row_newbcast
:1 row_mask
:0xf bank_mask
:0xf ; encoding
: [0xfa,0x2e,0x08,0x7e,0x00,0x51,0x01,0xff]
57 // GFX900
: error
: not a valid operand.
58 v_trunc_f64 v
[4:5], v
[0:1] row_newbcast
:1