blob: 1d457618a36a258a6fe7e3c9ce0bc87279ce8c6f [file] [log] [blame]
Tom Stellard8d5f5e42014-12-06 05:34:34 +00001; RUN: llc < %s -march=r600 -mcpu=SI -verify-machineinstrs -filetype=obj | llvm-readobj -s -symbols - | FileCheck --check-prefix=ELF-CHECK %s
Tom Stellard70f13db2013-10-10 17:11:46 +00002; RUN: llc < %s -march=r600 -mcpu=SI -verify-machineinstrs -o - | FileCheck --check-prefix=CONFIG-CHECK %s
Tom Stellard99916592013-04-15 17:51:21 +00003
Tom Stellardcb97e3a2013-04-15 17:51:35 +00004; ELF-CHECK: Format: ELF32
5; ELF-CHECK: Name: .AMDGPU.config
Tom Stellard34e40682013-04-24 23:56:14 +00006; ELF-CHECK: Type: SHT_PROGBITS
Tom Stellardcb97e3a2013-04-15 17:51:35 +00007
Tom Stellard8d5f5e42014-12-06 05:34:34 +00008; ELF-CHECK: Symbol {
9; ELF-CHECK: Name: test
10; ELF-CHECK: Binding: Global
11
Tom Stellardfae1dc82014-10-03 19:02:02 +000012; CONFIG-CHECK: .align 256
13; CONFIG-CHECK: test:
Tom Stellardcb97e3a2013-04-15 17:51:35 +000014; CONFIG-CHECK: .section .AMDGPU.config
15; CONFIG-CHECK-NEXT: .long 45096
16; CONFIG-CHECK-NEXT: .long 0
Tom Stellard456adc62013-04-26 18:32:24 +000017define void @test(i32 %p) #0 {
Tom Stellard99916592013-04-15 17:51:21 +000018 %i = add i32 %p, 2
19 %r = bitcast i32 %i to float
20 call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %r, float %r, float %r, float %r)
21 ret void
22}
23
24declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float)
Tom Stellard456adc62013-04-26 18:32:24 +000025
26attributes #0 = { "ShaderType"="0" } ; Pixel Shader