2014-05-10 00:42:19 +08:00
|
|
|
; RUN: llc -verify-machineinstrs -march=r600 -mcpu=redwood < %s | FileCheck -check-prefix=EG -check-prefix=FUNC %s
|
[AMDGPU] Enable compare operations to be selected by divergence
Summary: Details: This patch enables SETCC to be selected to S_CMP_* if uniform and V_CMP_* if divergent.
Reviewers: rampitec, arsenm
Reviewed By: rampitec
Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, kerbowa, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D82194
2020-06-19 22:51:54 +08:00
|
|
|
; RUN: llc -verify-machineinstrs -march=amdgcn -mcpu=tahiti < %s | FileCheck -check-prefixes=GCN,SI -check-prefix=FUNC %s
|
|
|
|
; RUN: llc -verify-machineinstrs -march=amdgcn -mcpu=tonga < %s | FileCheck -check-prefixes=GCN,VI -check-prefix=FUNC %s
|
2014-05-10 00:42:19 +08:00
|
|
|
|
2014-10-02 01:15:17 +08:00
|
|
|
; FUNC-LABEL: {{^}}selectcc_i64:
|
2014-05-10 00:42:19 +08:00
|
|
|
; EG: XOR_INT
|
|
|
|
; EG: XOR_INT
|
|
|
|
; EG: OR_INT
|
|
|
|
; EG: CNDE_INT
|
|
|
|
; EG: CNDE_INT
|
[AMDGPU] Enable compare operations to be selected by divergence
Summary: Details: This patch enables SETCC to be selected to S_CMP_* if uniform and V_CMP_* if divergent.
Reviewers: rampitec, arsenm
Reviewed By: rampitec
Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, kerbowa, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D82194
2020-06-19 22:51:54 +08:00
|
|
|
; SI: v_cmp_eq_u64_e32
|
|
|
|
; VI: s_cmp_eq_u64
|
|
|
|
; VI: s_cselect_b64 vcc, 1, 0
|
|
|
|
; GCN: v_cndmask
|
|
|
|
; GCN: v_cndmask
|
2017-03-22 05:39:51 +08:00
|
|
|
define amdgpu_kernel void @selectcc_i64(i64 addrspace(1) * %out, i64 %lhs, i64 %rhs, i64 %true, i64 %false) {
|
2014-05-10 00:42:19 +08:00
|
|
|
entry:
|
|
|
|
%0 = icmp eq i64 %lhs, %rhs
|
|
|
|
%1 = select i1 %0, i64 %true, i64 %false
|
|
|
|
store i64 %1, i64 addrspace(1)* %out
|
|
|
|
ret void
|
|
|
|
}
|