R600: Try to use lower types for 64bit division if possible
[oota-llvm.git] / test / CodeGen / R600 / elf.ll
1 ; RUN: llc < %s -march=amdgcn -mcpu=SI -verify-machineinstrs -filetype=obj | llvm-readobj -s -symbols - | FileCheck --check-prefix=ELF-CHECK %s
2 ; RUN: llc < %s -march=amdgcn -mcpu=SI -verify-machineinstrs -o - | FileCheck --check-prefix=CONFIG-CHECK %s
3
4 ; ELF-CHECK: Format: ELF32
5 ; ELF-CHECK: Name: .AMDGPU.config
6 ; ELF-CHECK: Type: SHT_PROGBITS
7
8 ; ELF-CHECK: Symbol {
9 ; ELF-CHECK: Name: test
10 ; ELF-CHECK: Binding: Global
11
12 ; CONFIG-CHECK: .align 256
13 ; CONFIG-CHECK: test:
14 ; CONFIG-CHECK: .section .AMDGPU.config
15 ; CONFIG-CHECK-NEXT: .long   45096
16 ; CONFIG-CHECK-NEXT: .long   0
17 define void @test(i32 %p) #0 {
18    %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
24 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float)
25
26 attributes #0 = { "ShaderType"="0" } ; Pixel Shader