diff options
Diffstat (limited to 'llvm/test/CodeGen/MIR/AMDGPU')
| -rw-r--r-- | llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-no-ir.mir | 29 | ||||
| -rw-r--r-- | llvm/test/CodeGen/MIR/AMDGPU/machine-function-info.ll | 40 | 
2 files changed, 69 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-no-ir.mir b/llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-no-ir.mir index 73d0855f612..4523af65645 100644 --- a/llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-no-ir.mir +++ b/llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-no-ir.mir @@ -22,6 +22,9 @@  # FULL-NEXT: workGroupIDX: { reg: '$sgpr6' }  # FULL-NEXT: privateSegmentWaveByteOffset: { reg: '$sgpr7' }  # FULL-NEXT: workItemIDX: { reg: '$vgpr0' } +# FULL-NEXT: mode: +# FULL-NEXT: ieee: true +# FULL-NEXT: dx10-clamp: true  # FULL-NEXT: body:  # SIMPLE: machineFunctionInfo: @@ -85,6 +88,9 @@ body:             |  # FULL-NEXT: argumentInfo:  # FULL-NEXT: privateSegmentBuffer: { reg: '$sgpr0_sgpr1_sgpr2_sgpr3' }  # FULL-NEXT: privateSegmentWaveByteOffset: { reg: '$sgpr33' } +# FULL-NEXT: mode: +# FULL-NEXT: ieee: true +# FULL-NEXT: dx10-clamp: true  # FULL-NEXT: body:  # SIMPLE: machineFunctionInfo: @@ -117,6 +123,9 @@ body:             |  # FULL-NEXT: argumentInfo:  # FULL-NEXT: privateSegmentBuffer: { reg: '$sgpr0_sgpr1_sgpr2_sgpr3' }  # FULL-NEXT: privateSegmentWaveByteOffset: { reg: '$sgpr33' } +# FULL-NEXT: mode: +# FULL-NEXT: ieee: true +# FULL-NEXT: dx10-clamp: true  # FULL-NEXT: body:  # SIMPLE: machineFunctionInfo: @@ -150,6 +159,9 @@ body:             |  # FULL-NEXT: argumentInfo:  # FULL-NEXT: privateSegmentBuffer: { reg: '$sgpr0_sgpr1_sgpr2_sgpr3' }  # FULL-NEXT: privateSegmentWaveByteOffset: { reg: '$sgpr33' } +# FULL-NEXT: mode: +# FULL-NEXT: ieee: true +# FULL-NEXT: dx10-clamp: true  # FULL-NEXT: body:  # SIMPLE: machineFunctionInfo: @@ -214,3 +226,20 @@ body:             |      S_ENDPGM 0  ... + +--- +# ALL-LABEL: name: parse_mode +# ALL: mode: +# ALL-NEXT: ieee: false +# ALL-NEXT: dx10-clamp: false +name: parse_mode +machineFunctionInfo: +  mode: +    ieee: false +    dx10-clamp: false + +body:             | +  bb.0: +    S_ENDPGM 0 + +... diff --git a/llvm/test/CodeGen/MIR/AMDGPU/machine-function-info.ll b/llvm/test/CodeGen/MIR/AMDGPU/machine-function-info.ll index 0fdbce5208d..79d3d82cc84 100644 --- a/llvm/test/CodeGen/MIR/AMDGPU/machine-function-info.ll +++ b/llvm/test/CodeGen/MIR/AMDGPU/machine-function-info.ll @@ -25,6 +25,9 @@  ; CHECK-NEXT: workGroupIDX: { reg: '$sgpr6' }  ; CHECK-NEXT: privateSegmentWaveByteOffset: { reg: '$sgpr7' }  ; CHECK-NEXT: workItemIDX: { reg: '$vgpr0' } +; CHECK-NEXT: mode: +; CHECK-NEXT: ieee: true +; CHECK-NEXT: dx10-clamp: true  ; CHECK-NEXT: body:  define amdgpu_kernel void @kernel(i32 %arg0, i64 %arg1, <16 x i32> %arg2) {    %gep = getelementptr inbounds [512 x float], [512 x float] addrspace(3)* @lds, i32 0, i32 %arg0 @@ -48,6 +51,9 @@ define amdgpu_kernel void @kernel(i32 %arg0, i64 %arg1, <16 x i32> %arg2) {  ; CHECK-NEXT: argumentInfo:  ; CHECK-NEXT: privateSegmentWaveByteOffset: { reg: '$sgpr3' }  ; CHECK-NEXT: implicitBufferPtr: { reg: '$sgpr0_sgpr1' } +; CHECK-NEXT: mode: +; CHECK-NEXT: ieee: false +; CHECK-NEXT: dx10-clamp: true  ; CHECK-NEXT: body:  define amdgpu_ps void @ps_shader(i32 %arg0, i32 inreg %arg1) {    ret void @@ -69,6 +75,9 @@ define amdgpu_ps void @ps_shader(i32 %arg0, i32 inreg %arg1) {  ; CHECK-NEXT: argumentInfo:  ; CHECK-NEXT: privateSegmentBuffer: { reg: '$sgpr0_sgpr1_sgpr2_sgpr3' }  ; CHECK-NEXT: privateSegmentWaveByteOffset: { reg: '$sgpr33' } +; CHECK-NEXT: mode: +; CHECK-NEXT: ieee: true +; CHECK-NEXT: dx10-clamp: true  ; CHECK-NEXT: body:  define void @function() {    ret void @@ -90,9 +99,40 @@ define void @function() {  ; CHECK-NEXT: argumentInfo:  ; CHECK-NEXT: privateSegmentBuffer: { reg: '$sgpr0_sgpr1_sgpr2_sgpr3' }  ; CHECK-NEXT: privateSegmentWaveByteOffset: { reg: '$sgpr33' } +; CHECK-NEXT: mode: +; CHECK-NEXT: ieee: true +; CHECK-NEXT: dx10-clamp: true  ; CHECK-NEXT: body:  define void @function_nsz() #0 {    ret void  } +; CHECK-LABEL: {{^}}name: function_dx10_clamp_off +; CHECK: mode: +; CHECK-NEXT: ieee: true +; CHECK-NEXT: dx10-clamp: false +define void @function_dx10_clamp_off() #1 { +  ret void +} + +; CHECK-LABEL: {{^}}name: function_ieee_off +; CHECK: mode: +; CHECK-NEXT: ieee: false +; CHECK-NEXT: dx10-clamp: true +define void @function_ieee_off() #2 { +  ret void +} + +; CHECK-LABEL: {{^}}name: function_ieee_off_dx10_clamp_off +; CHECK: mode: +; CHECK-NEXT: ieee: false +; CHECK-NEXT: dx10-clamp: false +define void @function_ieee_off_dx10_clamp_off() #3 { +  ret void +} +  attributes #0 = { "no-signed-zeros-fp-math" = "true" } + +attributes #1 = { "amdgpu-dx10-clamp" = "false" } +attributes #2 = { "amdgpu-ieee" = "false" } +attributes #3 = { "amdgpu-dx10-clamp" = "false" "amdgpu-ieee" = "false" }  | 

