mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-10-25 10:27:04 +00:00
R600/SI: Use unordered not equal instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224065 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -22,9 +22,7 @@ declare <16 x double> @llvm.ceil.v16f64(<16 x double>) nounwind readnone
|
||||
; SI: cmp_gt_i32
|
||||
; SI: cndmask_b32
|
||||
; SI: cndmask_b32
|
||||
; SI: v_cmp_o_f64
|
||||
; SI: v_cmp_neq_f64
|
||||
; SI: s_and_b64
|
||||
; SI: v_cmp_lg_f64
|
||||
; SI: v_cmp_gt_f64
|
||||
; SI: s_and_b64
|
||||
; SI: v_cndmask_b32
|
||||
|
||||
@@ -23,9 +23,7 @@ declare <16 x double> @llvm.floor.v16f64(<16 x double>) nounwind readnone
|
||||
; SI: cmp_gt_i32
|
||||
; SI: cndmask_b32
|
||||
; SI: cndmask_b32
|
||||
; SI: v_cmp_o_f64
|
||||
; SI: v_cmp_neq_f64
|
||||
; SI: s_and_b64
|
||||
; SI: v_cmp_lg_f64
|
||||
; SI: v_cmp_lt_f64
|
||||
; SI: s_and_b64
|
||||
; SI: v_cndmask_b32
|
||||
|
||||
@@ -97,11 +97,8 @@ entry:
|
||||
; R600-DAG: AND_INT
|
||||
; R600-DAG: SETNE_INT
|
||||
|
||||
; SI-DAG: v_cmp_o_f32_e32 vcc
|
||||
; SI-DAG: v_cmp_neq_f32_e64 [[CMP1:s\[[0-9]+:[0-9]+\]]]
|
||||
; SI: s_and_b64 [[AND:s\[[0-9]+:[0-9]+\]]], [[CMP1]], vcc
|
||||
; SI: v_cndmask_b32_e64 [[VRESULT:v[0-9]+]], 0, -1, [[AND]]
|
||||
; SI: buffer_store_dword [[VRESULT]]
|
||||
; SI: v_cmp_lg_f32_e32 vcc
|
||||
; SI-NEXT: v_cndmask_b32_e64 {{v[0-9]+}}, 0, -1, vcc
|
||||
define void @f32_one(i32 addrspace(1)* %out, float %a, float %b) {
|
||||
entry:
|
||||
%0 = fcmp one float %a, %b
|
||||
|
||||
@@ -57,11 +57,8 @@ entry:
|
||||
}
|
||||
|
||||
; FUNC-LABEL: {{^}}f64_one:
|
||||
; SI-DAG: v_cmp_o_f64_e32 vcc
|
||||
; SI-DAG: v_cmp_neq_f64_e64 [[CMP1:s\[[0-9]+:[0-9]+\]]]
|
||||
; SI: s_and_b64 [[AND:s\[[0-9]+:[0-9]+\]]], [[CMP1]], vcc
|
||||
; SI: v_cndmask_b32_e64 [[VRESULT:v[0-9]+]], 0, -1, [[AND]]
|
||||
; SI: buffer_store_dword [[VRESULT]]
|
||||
; SI: v_cmp_lg_f64_e32 vcc
|
||||
; SI-NEXT: v_cndmask_b32_e64 {{v[0-9]+}}, 0, -1, vcc
|
||||
define void @f64_one(i32 addrspace(1)* %out, double %a, double %b) {
|
||||
entry:
|
||||
%0 = fcmp one double %a, %b
|
||||
|
||||
Reference in New Issue
Block a user