Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / MC / AMDGPU / dpp64.s
blobb915dff06f06b647ed56e6612cf52f6445c58fdf
1 // RUN: llvm-mc -triple=amdgcn -mcpu=gfx90a -show-encoding %s | FileCheck %s --check-prefix=GFX90A
2 // RUN: not llvm-mc -triple=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: :[[@LINE+1]]:{{[0-9]+}}: 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: :[[@LINE+1]]:{{[0-9]+}}: 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: :[[@LINE+1]]:{{[0-9]+}}: 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: :[[@LINE+1]]:{{[0-9]+}}: 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: :[[@LINE+1]]:{{[0-9]+}}: 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: :[[@LINE+1]]:{{[0-9]+}}: 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: :[[@LINE+1]]:{{[0-9]+}}: 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: :[[@LINE+1]]:{{[0-9]+}}: 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: :[[@LINE+1]]:{{[0-9]+}}: 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: :[[@LINE+1]]:{{[0-9]+}}: 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: :[[@LINE+1]]:{{[0-9]+}}: 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: :[[@LINE+1]]:{{[0-9]+}}: 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: :[[@LINE+1]]:{{[0-9]+}}: 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: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand.
58 v_trunc_f64 v[4:5], v[0:1] row_newbcast:1