1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -arch=amdgcn -mcpu=tonga %s -filetype=obj | llvm-objdump -disassemble -arch-name=amdgcn -mcpu=tonga - | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker .text 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Worker .amdgpu_hsa_kernel hello_world 6*9880d681SAndroid Build Coastguard Workerhello_world: 7*9880d681SAndroid Build Coastguard Worker .amd_kernel_code_t 8*9880d681SAndroid Build Coastguard Worker .end_amd_kernel_code_t 9*9880d681SAndroid Build Coastguard Worker 10*9880d681SAndroid Build Coastguard Worker s_mov_b32 m0, 0x10000 11*9880d681SAndroid Build Coastguard Worker s_load_dwordx2 s[0:1], s[4:5], 0x8 12*9880d681SAndroid Build Coastguard Worker s_waitcnt lgkmcnt(0) 13*9880d681SAndroid Build Coastguard Worker s_add_u32 s0, s7, s0 14*9880d681SAndroid Build Coastguard Worker v_add_i32_e32 v1, vcc, s0, v1 15*9880d681SAndroid Build Coastguard Worker s_movk_i32 s0, 0x483 16*9880d681SAndroid Build Coastguard Worker v_cmp_ge_i32_e32 vcc, s0, v0 17*9880d681SAndroid Build Coastguard Worker s_and_saveexec_b64 s[0:1], vcc 18*9880d681SAndroid Build Coastguard Worker v_lshlrev_b32_e32 v4, 2, v0 19*9880d681SAndroid Build Coastguard Worker s_cbranch_execz 21 20*9880d681SAndroid Build Coastguard Worker s_mov_b64 s[2:3], exec 21*9880d681SAndroid Build Coastguard Worker s_mov_b64 s[10:11], exec 22*9880d681SAndroid Build Coastguard Worker v_mov_b32_e32 v3, v0 23*9880d681SAndroid Build Coastguard Worker s_endpgm 24*9880d681SAndroid Build Coastguard Worker 25*9880d681SAndroid Build Coastguard Worker .amdgpu_hsa_kernel hello_world2 26*9880d681SAndroid Build Coastguard Workerhello_world2: 27*9880d681SAndroid Build Coastguard Worker .amd_kernel_code_t 28*9880d681SAndroid Build Coastguard Worker .end_amd_kernel_code_t 29*9880d681SAndroid Build Coastguard Worker 30*9880d681SAndroid Build Coastguard Worker s_and_saveexec_b64 s[0:1], vcc 31*9880d681SAndroid Build Coastguard Worker s_cbranch_execz 85 32*9880d681SAndroid Build Coastguard Worker s_load_dwordx4 s[8:11], s[4:5], 0x40 33*9880d681SAndroid Build Coastguard Worker v_ashrrev_i32_e32 v77, 31, v76 34*9880d681SAndroid Build Coastguard Worker v_lshlrev_b64 v[10:11], 2, v[76:77] 35*9880d681SAndroid Build Coastguard Worker s_waitcnt lgkmcnt(0) 36*9880d681SAndroid Build Coastguard Worker v_add_i32_e32 v10, vcc, s8, v10 37*9880d681SAndroid Build Coastguard Worker v_mov_b32_e32 v6, s9 38*9880d681SAndroid Build Coastguard Worker v_addc_u32_e32 v11, vcc, v6, v11, vcc 39*9880d681SAndroid Build Coastguard Worker flat_load_dword v0, v[10:11] 40*9880d681SAndroid Build Coastguard Worker v_lshlrev_b32_e32 v6, 5, v8 41*9880d681SAndroid Build Coastguard Worker v_lshlrev_b32_e32 v7, 2, v7 42*9880d681SAndroid Build Coastguard Worker s_endpgm 43*9880d681SAndroid Build Coastguard Worker 44*9880d681SAndroid Build Coastguard Worker// CHECK: file format ELF64-amdgpu-hsacobj 45*9880d681SAndroid Build Coastguard Worker// CHECK: Disassembly of section .text: 46*9880d681SAndroid Build Coastguard Worker// CHECK: hello_world: 47*9880d681SAndroid Build Coastguard Worker// CHECK: s_mov_b32 m0, 0x10000 // 000000000100: BEFC00FF 00010000 48*9880d681SAndroid Build Coastguard Worker// CHECK: s_load_dwordx2 s[0:1], s[4:5], 0x8 // 000000000108: C0060002 00000008 49*9880d681SAndroid Build Coastguard Worker// CHECK: s_waitcnt lgkmcnt(0) // 000000000110: BF8C007F 50*9880d681SAndroid Build Coastguard Worker// CHECK: s_add_u32 s0, s7, s0 // 000000000114: 80000007 51*9880d681SAndroid Build Coastguard Worker// CHECK: v_add_i32_e32 v1, vcc, s0, v1 // 000000000118: 32020200 52*9880d681SAndroid Build Coastguard Worker// CHECK: s_movk_i32 s0, 0x483 // 00000000011C: B0000483 53*9880d681SAndroid Build Coastguard Worker// CHECK: v_cmp_ge_i32_e32 vcc, s0, v0 // 000000000120: 7D8C0000 54*9880d681SAndroid Build Coastguard Worker// CHECK: s_and_saveexec_b64 s[0:1], vcc // 000000000124: BE80206A 55*9880d681SAndroid Build Coastguard Worker// CHECK: v_lshlrev_b32_e32 v4, 2, v0 // 000000000128: 24080082 56*9880d681SAndroid Build Coastguard Worker// CHECK: s_cbranch_execz 21 // 00000000012C: BF880015 57*9880d681SAndroid Build Coastguard Worker// CHECK: s_mov_b64 s[2:3], exec // 000000000130: BE82017E 58*9880d681SAndroid Build Coastguard Worker// CHECK: s_mov_b64 s[10:11], exec // 000000000134: BE8A017E 59*9880d681SAndroid Build Coastguard Worker// CHECK: v_mov_b32_e32 v3, v0 // 000000000138: 7E060300 60*9880d681SAndroid Build Coastguard Worker// CHECK: s_endpgm // 00000000013C: BF810000 61*9880d681SAndroid Build Coastguard Worker 62*9880d681SAndroid Build Coastguard Worker// CHECK: hello_world2: 63*9880d681SAndroid Build Coastguard Worker// CHECK: s_and_saveexec_b64 s[0:1], vcc // 000000000240: BE80206A 64*9880d681SAndroid Build Coastguard Worker// CHECK: s_cbranch_execz 85 // 000000000244: BF880055 65*9880d681SAndroid Build Coastguard Worker// CHECK: s_load_dwordx4 s[8:11], s[4:5], 0x40 // 000000000248: C00A0202 00000040 66*9880d681SAndroid Build Coastguard Worker// CHECK: v_ashrrev_i32_e32 v77, 31, v76 // 000000000250: 229A989F 67*9880d681SAndroid Build Coastguard Worker// CHECK: v_lshlrev_b64 v[10:11], 2, v[76:77] // 000000000254: D28F000A 00029882 68*9880d681SAndroid Build Coastguard Worker// CHECK: s_waitcnt lgkmcnt(0) // 00000000025C: BF8C007F 69*9880d681SAndroid Build Coastguard Worker// CHECK: v_add_i32_e32 v10, vcc, s8, v10 // 000000000260: 32141408 70*9880d681SAndroid Build Coastguard Worker// CHECK: v_mov_b32_e32 v6, s9 // 000000000264: 7E0C0209 71*9880d681SAndroid Build Coastguard Worker// CHECK: v_addc_u32_e32 v11, vcc, v6, v11, vcc // 000000000268: 38161706 72*9880d681SAndroid Build Coastguard Worker// CHECK: flat_load_dword v0, v[10:11] // 00000000026C: DC500000 0000000A 73*9880d681SAndroid Build Coastguard Worker// CHECK: v_lshlrev_b32_e32 v6, 5, v8 // 000000000274: 240C1085 74*9880d681SAndroid Build Coastguard Worker// CHECK: v_lshlrev_b32_e32 v7, 2, v7 // 000000000278: 240E0E82 75*9880d681SAndroid Build Coastguard Worker// CHECK: s_endpgm // 00000000027C: BF810000 76