Home | History | Annotate | Download | only in AMDGPU
      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