brintos

brintos / llvm-project-archived public Read only

0
0
Text · 10.8 KiB · d3a22a9 Raw
151 lines · plain
1// RUN: llvm-mc -triple=amdgcn -mcpu=gfx1251 -show-encoding < %s | FileCheck --check-prefix=GFX1251 %s2// RUN: not llvm-mc -triple=amdgcn -mcpu=gfx1250 -show-encoding %s 2>&1 | FileCheck --check-prefix=GFX1250-ERR --implicit-check-not=error: --strict-whitespace %s3 4v_lshl_add_u64 v[2:3], v[4:5], v7, v[8:9] row_share:35// GFX1251: v_lshl_add_u64_e64_dpp v[2:3], v[4:5], v7, v[8:9] row_share:3 row_mask:0xf bank_mask:0xf ; encoding: [0x02,0x00,0x52,0xd6,0xfa,0x0e,0x22,0x04,0x04,0x53,0x01,0xff]6// GFX1250-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.7 8v_lshl_add_u64 v[2:3], v[4:5], v4, v[2:3] row_share:0 row_mask:0xf bank_mask:0xf9// GFX1251: v_lshl_add_u64_e64_dpp v[2:3], v[4:5], v4, v[2:3] row_share:0 row_mask:0xf bank_mask:0xf ; encoding: [0x02,0x00,0x52,0xd6,0xfa,0x08,0x0a,0x04,0x04,0x50,0x01,0xff]10// GFX1250-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.11 12v_fma_f64 v[4:5], v[2:3], v[6:7], v[8:9] row_share:113// GFX1251: v_fma_f64_e64_dpp v[4:5], v[2:3], v[6:7], v[8:9] row_share:1 row_mask:0xf bank_mask:0xf ; encoding: [0x04,0x00,0x14,0xd6,0xfa,0x0c,0x22,0x04,0x02,0x51,0x01,0xff]14// GFX1250-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.15// GFX1250-ERR-NEXT:{{^}}v_fma_f64 v[4:5], v[2:3], v[6:7], v[8:9] row_share:116// GFX1250-ERR-NEXT:{{^}}                                         ^17 18v_div_fixup_f64 v[4:5], v[2:3], v[6:7], v[8:9] row_share:119// GFX1251: v_div_fixup_f64_e64_dpp v[4:5], v[2:3], v[6:7], v[8:9] row_share:1 row_mask:0xf bank_mask:0xf ; encoding: [0x04,0x00,0x28,0xd6,0xfa,0x0c,0x22,0x04,0x02,0x51,0x01,0xff]20// GFX1250-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.21// GFX1250-ERR-NEXT:{{^}}v_div_fixup_f64 v[4:5], v[2:3], v[6:7], v[8:9] row_share:122// GFX1250-ERR-NEXT:{{^}}                                               ^23 24v_div_fmas_f64 v[4:5], v[2:3], v[6:7], v[8:9] row_share:125// GFX1251: v_div_fmas_f64_e64_dpp v[4:5], v[2:3], v[6:7], v[8:9] row_share:1 row_mask:0xf bank_mask:0xf ; encoding: [0x04,0x00,0x38,0xd6,0xfa,0x0c,0x22,0x04,0x02,0x51,0x01,0xff]26// GFX1250-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.27// GFX1250-ERR-NEXT:{{^}}v_div_fmas_f64 v[4:5], v[2:3], v[6:7], v[8:9] row_share:128// GFX1250-ERR-NEXT:{{^}}                                              ^29 30v_div_scale_f64 v[4:5], s2, v[2:3], v[6:7], v[8:9] row_share:131// GFX1251: v_div_scale_f64_e64_dpp v[4:5], s2, v[2:3], v[6:7], v[8:9] row_share:1 row_mask:0xf bank_mask:0xf ; encoding: [0x04,0x02,0xfd,0xd6,0xfa,0x0c,0x22,0x04,0x02,0x51,0x01,0xff]32// GFX1250-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.33// GFX1250-ERR-NEXT:{{^}}v_div_scale_f64 v[4:5], s2, v[2:3], v[6:7], v[8:9] row_share:134// GFX1250-ERR-NEXT:{{^}}                                                   ^35 36v_mad_co_u64_u32 v[4:5], s2, v2, v6, v[8:9] row_share:137// GFX1251: v_mad_co_u64_u32_e64_dpp v[4:5], s2, v2, v6, v[8:9] row_share:1 row_mask:0xf bank_mask:0xf ; encoding: [0x04,0x02,0xfe,0xd6,0xfa,0x0c,0x22,0x04,0x02,0x51,0x01,0xff]38// GFX1250-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.39// GFX1250-ERR-NEXT:{{^}}v_mad_co_u64_u32 v[4:5], s2, v2, v6, v[8:9] row_share:140// GFX1250-ERR-NEXT:{{^}}                                            ^41 42v_mad_co_i64_i32 v[4:5], s2, v2, v6, v[8:9] row_share:143// GFX1251: v_mad_co_i64_i32_e64_dpp v[4:5], s2, v2, v6, v[8:9] row_share:1 row_mask:0xf bank_mask:0xf ; encoding: [0x04,0x02,0xff,0xd6,0xfa,0x0c,0x22,0x04,0x02,0x51,0x01,0xff]44// GFX1250-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.45// GFX1250-ERR-NEXT:{{^}}v_mad_co_i64_i32 v[4:5], s2, v2, v6, v[8:9] row_share:146// GFX1250-ERR-NEXT:{{^}}                                            ^47 48v_minimum_f64 v[4:5], v[2:3], v[6:7] row_share:149// GFX1251: v_minimum_f64_e64_dpp v[4:5], v[2:3], v[6:7] row_share:1 row_mask:0xf bank_mask:0xf ; encoding: [0x04,0x00,0x41,0xd7,0xfa,0x0c,0x02,0x00,0x02,0x51,0x01,0xff]50// GFX1250-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.51// GFX1250-ERR-NEXT:{{^}}v_minimum_f64 v[4:5], v[2:3], v[6:7] row_share:152// GFX1250-ERR-NEXT:{{^}}                                     ^53 54v_maximum_f64 v[4:5], v[2:3], v[6:7] row_share:155// GFX1251: v_maximum_f64_e64_dpp v[4:5], v[2:3], v[6:7] row_share:1 row_mask:0xf bank_mask:0xf ; encoding: [0x04,0x00,0x42,0xd7,0xfa,0x0c,0x02,0x00,0x02,0x51,0x01,0xff]56// GFX1250-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.57// GFX1250-ERR-NEXT:{{^}}v_maximum_f64 v[4:5], v[2:3], v[6:7] row_share:158// GFX1250-ERR-NEXT:{{^}}                                     ^59 60v_ldexp_f64 v[4:5], v[2:3], v6 row_share:161// GFX1251: v_ldexp_f64_e64_dpp v[4:5], v[2:3], v6 row_share:1 row_mask:0xf bank_mask:0xf ; encoding: [0x04,0x00,0x2b,0xd7,0xfa,0x0c,0x02,0x00,0x02,0x51,0x01,0xff]62// GFX1250-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.63// GFX1250-ERR-NEXT:{{^}}v_ldexp_f64 v[4:5], v[2:3], v6 row_share:164// GFX1250-ERR-NEXT:{{^}}                               ^65 66v_mul_lo_u32 v4, v2, v6 row_share:167// GFX1251: v_mul_lo_u32_e64_dpp v4, v2, v6 row_share:1 row_mask:0xf bank_mask:0xf ; encoding: [0x04,0x00,0x2c,0xd7,0xfa,0x0c,0x02,0x00,0x02,0x51,0x01,0xff]68// GFX1250-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.69// GFX1250-ERR-NEXT:{{^}}v_mul_lo_u32 v4, v2, v6 row_share:170// GFX1250-ERR-NEXT:{{^}}                        ^71 72v_mul_hi_u32 v4, v2, v6 row_share:173// GFX1251: v_mul_hi_u32_e64_dpp v4, v2, v6 row_share:1 row_mask:0xf bank_mask:0xf ; encoding: [0x04,0x00,0x2d,0xd7,0xfa,0x0c,0x02,0x00,0x02,0x51,0x01,0xff]74// GFX1250-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.75// GFX1250-ERR-NEXT:{{^}}v_mul_hi_u32 v4, v2, v6 row_share:176// GFX1250-ERR-NEXT:{{^}}                        ^77 78v_mul_hi_i32 v4, v2, v6 row_share:179// GFX1251: v_mul_hi_i32_e64_dpp v4, v2, v6 row_share:1 row_mask:0xf bank_mask:0xf ; encoding: [0x04,0x00,0x2e,0xd7,0xfa,0x0c,0x02,0x00,0x02,0x51,0x01,0xff]80// GFX1250-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.81// GFX1250-ERR-NEXT:{{^}}v_mul_hi_i32 v4, v2, v6 row_share:182// GFX1250-ERR-NEXT:{{^}}                        ^83 84v_lshrrev_b64 v[4:5], v2, v[6:7] row_share:185// GFX1251: v_lshrrev_b64_e64_dpp v[4:5], v2, v[6:7] row_share:1 row_mask:0xf bank_mask:0xf ; encoding: [0x04,0x00,0x3d,0xd7,0xfa,0x0c,0x02,0x00,0x02,0x51,0x01,0xff]86// GFX1250-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.87// GFX1250-ERR-NEXT:{{^}}v_lshrrev_b64 v[4:5], v2, v[6:7] row_share:188// GFX1250-ERR-NEXT:{{^}}                                 ^89 90v_ashrrev_i64 v[4:5], v2, v[6:7] row_share:191// GFX1251: v_ashrrev_i64_e64_dpp v[4:5], v2, v[6:7] row_share:1 row_mask:0xf bank_mask:0xf ; encoding: [0x04,0x00,0x3e,0xd7,0xfa,0x0c,0x02,0x00,0x02,0x51,0x01,0xff]92// GFX1250-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.93// GFX1250-ERR-NEXT:{{^}}v_ashrrev_i64 v[4:5], v2, v[6:7] row_share:194// GFX1250-ERR-NEXT:{{^}}                                 ^95 96v_mad_u32 v2, v4, v7, v8 row_share:3 fi:197// GFX1251: v_mad_u32_e64_dpp v2, v4, v7, v8 row_share:3 row_mask:0xf bank_mask:0xf fi:1 ; encoding: [0x02,0x00,0x35,0xd6,0xfa,0x0e,0x22,0x04,0x04,0x53,0x05,0xff]98// GFX1250-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.99 100v_mad_u32 v2, v4, v7, 1 row_share:0 row_mask:0xf bank_mask:0xf101// GFX1251: v_mad_u32_e64_dpp v2, v4, v7, 1 row_share:0 row_mask:0xf bank_mask:0xf ; encoding: [0x02,0x00,0x35,0xd6,0xfa,0x0e,0x06,0x02,0x04,0x50,0x01,0xff]102// GFX1250-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.103 104v_max_i64 v[2:3], v[4:5], v[6:7] row_share:3 fi:1105// GFX1251: v_max_i64_e64_dpp v[2:3], v[4:5], v[6:7] row_share:3 row_mask:0xf bank_mask:0xf fi:1 ; encoding: [0x02,0x00,0x1b,0xd7,0xfa,0x0c,0x02,0x00,0x04,0x53,0x05,0xff]106// GFX1250-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.107 108v_max_i64 v[2:3], v[4:5], v[6:7] row_share:0 row_mask:0xf bank_mask:0xf109// GFX1251: v_max_i64_e64_dpp v[2:3], v[4:5], v[6:7] row_share:0 row_mask:0xf bank_mask:0xf ; encoding: [0x02,0x00,0x1b,0xd7,0xfa,0x0c,0x02,0x00,0x04,0x50,0x01,0xff]110// GFX1250-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.111 112v_max_u64 v[2:3], v[4:5], v[6:7] row_share:3 fi:1113// GFX1251: v_max_u64_e64_dpp v[2:3], v[4:5], v[6:7] row_share:3 row_mask:0xf bank_mask:0xf fi:1 ; encoding: [0x02,0x00,0x19,0xd7,0xfa,0x0c,0x02,0x00,0x04,0x53,0x05,0xff]114// GFX1250-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.115 116v_max_u64 v[2:3], v[4:5], v[6:7] row_share:0 row_mask:0xf bank_mask:0xf117// GFX1251: v_max_u64_e64_dpp v[2:3], v[4:5], v[6:7] row_share:0 row_mask:0xf bank_mask:0xf ; encoding: [0x02,0x00,0x19,0xd7,0xfa,0x0c,0x02,0x00,0x04,0x50,0x01,0xff]118// GFX1250-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.119 120v_min_i64 v[2:3], v[4:5], v[6:7] row_share:3 fi:1121// GFX1251: v_min_i64_e64_dpp v[2:3], v[4:5], v[6:7] row_share:3 row_mask:0xf bank_mask:0xf fi:1 ; encoding: [0x02,0x00,0x1a,0xd7,0xfa,0x0c,0x02,0x00,0x04,0x53,0x05,0xff]122// GFX1250-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.123 124v_min_i64 v[2:3], v[4:5], v[6:7] row_share:0 row_mask:0xf bank_mask:0xf125// GFX1251: v_min_i64_e64_dpp v[2:3], v[4:5], v[6:7] row_share:0 row_mask:0xf bank_mask:0xf ; encoding: [0x02,0x00,0x1a,0xd7,0xfa,0x0c,0x02,0x00,0x04,0x50,0x01,0xff]126// GFX1250-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.127 128v_min_u64 v[2:3], v[4:5], v[6:7] row_share:3 fi:1129// GFX1251: v_min_u64_e64_dpp v[2:3], v[4:5], v[6:7] row_share:3 row_mask:0xf bank_mask:0xf fi:1 ; encoding: [0x02,0x00,0x18,0xd7,0xfa,0x0c,0x02,0x00,0x04,0x53,0x05,0xff]130// GFX1250-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.131 132v_min_u64 v[2:3], v[4:5], v[6:7] row_share:0 row_mask:0xf bank_mask:0xf133// GFX1251: v_min_u64_e64_dpp v[2:3], v[4:5], v[6:7] row_share:0 row_mask:0xf bank_mask:0xf ; encoding: [0x02,0x00,0x18,0xd7,0xfa,0x0c,0x02,0x00,0x04,0x50,0x01,0xff]134// GFX1250-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.135 136v_mad_nc_u64_u32 v[2:3], v4, v7, v[8:9] row_share:3 fi:1137// GFX1251: v_mad_nc_u64_u32_e64_dpp v[2:3], v4, v7, v[8:9] row_share:3 row_mask:0xf bank_mask:0xf fi:1 ; encoding: [0x02,0x00,0xfa,0xd6,0xfa,0x0e,0x22,0x04,0x04,0x53,0x05,0xff]138// GFX1250-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.139 140v_mad_nc_u64_u32 v[2:3], v4, v5, 1 row_share:0 row_mask:0xf bank_mask:0xf141// GFX1251: v_mad_nc_u64_u32_e64_dpp v[2:3], v4, v5, 1 row_share:0 row_mask:0xf bank_mask:0xf ; encoding: [0x02,0x00,0xfa,0xd6,0xfa,0x0a,0x06,0x02,0x04,0x50,0x01,0xff]142// GFX1250-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.143 144v_mad_nc_i64_i32 v[2:3], v4, v7, v[8:9] row_share:3 fi:1145// GFX1251: v_mad_nc_i64_i32_e64_dpp v[2:3], v4, v7, v[8:9] row_share:3 row_mask:0xf bank_mask:0xf fi:1 ; encoding: [0x02,0x00,0xfb,0xd6,0xfa,0x0e,0x22,0x04,0x04,0x53,0x05,0xff]146// GFX1250-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.147 148v_mad_nc_i64_i32 v[2:3], v4, v5, 1 row_share:0 row_mask:0xf bank_mask:0xf149// GFX1251: v_mad_nc_i64_i32_e64_dpp v[2:3], v4, v5, 1 row_share:0 row_mask:0xf bank_mask:0xf ; encoding: [0x02,0x00,0xfb,0xd6,0xfa,0x0a,0x06,0x02,0x04,0x50,0x01,0xff]150// GFX1250-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.151