Files
clang-p2996/llvm/test/CodeGen/AMDGPU/permlane-op-sel.ll
Changpeng Fang 3bde23c5e0 AMDGPU: Put un-initiaized enumerators together in an enum definition.
Summary:
  For any enumerator whose definition does not have an initializer,
the associated value is the value of the previous enumerator plus one.
In order to avoid the possibility that two unrelated enumerators to
have the same value, we should try to cluster the uninitialized enumerators
together.

Reviewers: arsenm

Differential Revision
  https://reviews.llvm.org/D141643
2023-01-20 14:39:40 -08:00

16 lines
786 B
LLVM

; RUN: llc -march=amdgcn -mcpu=gfx1030 -filetype=obj < %s | llvm-objdump --triple=amdgcn--amdhsa --mcpu=gfx1030 -d - | FileCheck -check-prefix=OBJ %s
; RUN: llc -march=amdgcn -mcpu=gfx1030 -show-mc-encoding < %s | FileCheck -check-prefix=ASM %s
declare i32 @llvm.amdgcn.permlane16(i32, i32, i32, i32, i1, i1)
; OBJ-LABEL: <permlane_op_sel>:
; OBJ: v_permlane16_b32 v0, v0, s7, s0 op_sel:[1,0]
; ASM-LABEL: permlane_op_sel:
; ASM-CHRCK: v_permlane16_b32 v0, v0, s7, s0 op_sel:[1,0] ; encoding: [0x00,0x00,0x77,0xd7,0x00,0x0f,0x00,0x20]
define amdgpu_kernel void @permlane_op_sel(ptr addrspace(1) %out, i32 %src0, i32 %src1, i32 %src2) {
%v = call i32 @llvm.amdgcn.permlane16(i32 %src0, i32 %src0, i32 %src1, i32 %src2, i1 1, i1 0)
store i32 %v, ptr addrspace(1) %out
ret void
}