1 // RUN: not llvm-mc -arch=amdgcn -mcpu=tahiti -show-encoding %s | FileCheck -check-prefix=GCN -check-prefix=SICI %s 2 // RUN: llvm-mc -arch=amdgcn -mcpu=fiji -show-encoding %s | FileCheck -check-prefix=GCN -check-prefix=VI %s 3 // RUN: not llvm-mc -arch=amdgcn -mcpu=tahiti -show-encoding %s 2>&1 | FileCheck -check-prefix=NOSICI %s 4 5 //===----------------------------------------------------------------------===// 6 // SOPC Instructions 7 //===----------------------------------------------------------------------===// 8 9 s_cmp_eq_i32 s1, s2 10 // GCN: s_cmp_eq_i32 s1, s2 ; encoding: [0x01,0x02,0x00,0xbf] 11 12 s_cmp_lg_i32 s1, s2 13 // GCN: s_cmp_lg_i32 s1, s2 ; encoding: [0x01,0x02,0x01,0xbf] 14 15 s_cmp_gt_i32 s1, s2 16 // GCN: s_cmp_gt_i32 s1, s2 ; encoding: [0x01,0x02,0x02,0xbf] 17 18 s_cmp_ge_i32 s1, s2 19 // GCN: s_cmp_ge_i32 s1, s2 ; encoding: [0x01,0x02,0x03,0xbf] 20 21 s_cmp_lt_i32 s1, s2 22 // GCN: s_cmp_lt_i32 s1, s2 ; encoding: [0x01,0x02,0x04,0xbf] 23 24 s_cmp_le_i32 s1, s2 25 // GCN: s_cmp_le_i32 s1, s2 ; encoding: [0x01,0x02,0x05,0xbf] 26 27 s_cmp_eq_u32 s1, s2 28 // GCN: s_cmp_eq_u32 s1, s2 ; encoding: [0x01,0x02,0x06,0xbf] 29 30 s_cmp_lg_u32 s1, s2 31 // GCN: s_cmp_lg_u32 s1, s2 ; encoding: [0x01,0x02,0x07,0xbf] 32 33 s_cmp_gt_u32 s1, s2 34 // GCN: s_cmp_gt_u32 s1, s2 ; encoding: [0x01,0x02,0x08,0xbf] 35 36 s_cmp_ge_u32 s1, s2 37 // GCN: s_cmp_ge_u32 s1, s2 ; encoding: [0x01,0x02,0x09,0xbf] 38 39 s_cmp_lt_u32 s1, s2 40 // GCN: s_cmp_lt_u32 s1, s2 ; encoding: [0x01,0x02,0x0a,0xbf] 41 42 s_cmp_le_u32 s1, s2 43 // GCN: s_cmp_le_u32 s1, s2 ; encoding: [0x01,0x02,0x0b,0xbf] 44 45 s_bitcmp0_b32 s1, s2 46 // GCN: s_bitcmp0_b32 s1, s2 ; encoding: [0x01,0x02,0x0c,0xbf] 47 48 s_bitcmp1_b32 s1, s2 49 // GCN: s_bitcmp1_b32 s1, s2 ; encoding: [0x01,0x02,0x0d,0xbf] 50 51 s_bitcmp0_b64 s[2:3], s4 52 // GCN: s_bitcmp0_b64 s[2:3], s4 ; encoding: [0x02,0x04,0x0e,0xbf] 53 54 s_bitcmp1_b64 s[2:3], s4 55 // GCN: s_bitcmp1_b64 s[2:3], s4 ; encoding: [0x02,0x04,0x0f,0xbf] 56 57 s_setvskip s3, s5 58 // GCN: s_setvskip s3, s5 ; encoding: [0x03,0x05,0x10,0xbf] 59 60 s_cmp_eq_u64 s[0:1], s[2:3] 61 // VI: s_cmp_eq_u64 s[0:1], s[2:3] ; encoding: [0x00,0x02,0x12,0xbf] 62 // NOSICI: error: instruction not supported on this GPU 63 64 s_cmp_lg_u64 s[0:1], s[2:3] 65 // VI: s_cmp_lg_u64 s[0:1], s[2:3] ; encoding: [0x00,0x02,0x13,0xbf] 66 // NOSICI: error: instruction not supported on this GPU 67 68 s_set_gpr_idx_on s0, 0 69 // VI: s_set_gpr_idx_on s0, 0 ; encoding: [0x00,0x00,0x11,0xbf] 70 // NOSICI: error: instruction not supported on this GPU 71 72 s_set_gpr_idx_on s0, 1 73 // VI: s_set_gpr_idx_on s0, src0 ; encoding: [0x00,0x01,0x11,0xbf] 74 // NOSICI: error: instruction not supported on this GPU 75 76 s_set_gpr_idx_on s0, 3 77 // VI: s_set_gpr_idx_on s0, src0 src1 ; encoding: [0x00,0x03,0x11,0xbf] 78 // NOSICI: error: instruction not supported on this GPU 79 80 s_set_gpr_idx_on s0, 15 81 // VI: s_set_gpr_idx_on s0, dst src0 src1 src2 ; encoding: [0x00,0x0f,0x11,0xbf] 82 // NOSICI: error: instruction not supported on this GPU 83