Skip to content

Commit cbe7f4c

Browse files
committed
using loop to define data type convert patterns
1 parent 6477945 commit cbe7f4c

17 files changed

+42958
-326
lines changed

llvm/lib/Target/AMDGPU/SIInstructions.td

Lines changed: 210 additions & 322 deletions
Large diffs are not rendered by default.

llvm/lib/Target/AMDGPU/SIRegisterInfo.td

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -547,8 +547,12 @@ class RegisterTypes<list<ValueType> reg_types> {
547547
}
548548

549549
def Reg16Types : RegisterTypes<[i16, f16, bf16]>;
550-
def Reg32Types : RegisterTypes<[i32, f32, v2i16, v2f16, v2bf16, p2, p3, p5, p6]>;
551-
def Reg64Types : RegisterTypes<[i64, f64, v2i32, v2f32, p0, p1, p4, v4i16, v4f16, v4bf16]>;
550+
def Reg32DataTypes: RegisterTypes<[i32, f32, v2i16, v2f16, v2bf16]>;
551+
def Reg32PtrTypes: RegisterTypes<[p2, p3, p5, p6]>;
552+
def Reg32Types : RegisterTypes<!listconcat(Reg32DataTypes.types, Reg32PtrTypes.types)>;
553+
def Reg64DataTypes: RegisterTypes<[i64, f64, v2i32, v2f32, v4i16, v4f16, v4bf16]>;
554+
def Reg64PtrTypes: RegisterTypes<[p0, p1, p4]>;
555+
def Reg64Types : RegisterTypes<!listconcat(Reg64DataTypes.types, Reg64PtrTypes.types)>;
552556
def Reg96Types : RegisterTypes<[v3i32, v3f32]>;
553557
def Reg128Types : RegisterTypes<[v4i32, v4f32, v2i64, v2f64, v8i16, v8f16, v8bf16]>;
554558

@@ -940,8 +944,7 @@ multiclass VRegClass<int numRegs, list<ValueType> regTypes, dag regList> {
940944
}
941945
}
942946

943-
defm VReg_64 : VRegClass<2, [i64, f64, v2i32, v2f32, v4f16, v4bf16, v4i16, p0, p1, p4],
944-
(add VGPR_64)>;
947+
defm VReg_64 : VRegClass<2, Reg64Types.types, (add VGPR_64)>;
945948
defm VReg_96 : VRegClass<3, Reg96Types.types, (add VGPR_96)>;
946949
defm VReg_128 : VRegClass<4, Reg128Types.types, (add VGPR_128)>;
947950
defm VReg_160 : VRegClass<5, [v5i32, v5f32], (add VGPR_160)>;

llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll

Lines changed: 2394 additions & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)