Skip to content

Commit c08662c

Browse files
committed
sort orders by opcode
1 parent 5c4c605 commit c08662c

File tree

1 file changed

+57
-57
lines changed

1 file changed

+57
-57
lines changed

llvm/lib/Target/DirectX/DXIL.td

Lines changed: 57 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -392,7 +392,7 @@ class DXILOp<int opcode, DXILOpClass opclass> {
392392
list<DXILProperty> properties = [];
393393
}
394394

395-
// Concrete definitions of DXIL Operations
395+
// Concrete definitions of DXIL Operations - There are ordered by their OpCode value
396396

397397
def Abs : DXILOp<6, unary> {
398398
let Doc = "Returns the absolute value of the input.";
@@ -841,6 +841,20 @@ def CheckAccessFullyMapped : DXILOp<71, checkAccessFullyMapped> {
841841
let attributes = [Attributes<DXIL1_0, [ReadOnly]>];
842842
}
843843

844+
def Barrier : DXILOp<80, barrier> {
845+
let Doc = "inserts a memory barrier in the shader";
846+
let intrinsics = [
847+
IntrinSelect<
848+
int_dx_group_memory_barrier_with_group_sync,
849+
[ IntrinArgI32<BarrierMode_GroupMemoryBarrierWithGroupSync> ]>,
850+
];
851+
852+
let arguments = [Int32Ty];
853+
let result = VoidTy;
854+
let stages = [Stages<DXIL1_0, [compute, library]>];
855+
let attributes = [Attributes<DXIL1_0, []>];
856+
}
857+
844858
def Discard : DXILOp<82, discard> {
845859
let Doc = "discard the current pixel";
846860
let intrinsics = [ IntrinSelect<int_dx_discard> ];
@@ -907,6 +921,48 @@ def SplitDouble : DXILOp<102, splitDouble> {
907921
let attributes = [Attributes<DXIL1_0, [ReadNone]>];
908922
}
909923

924+
def WaveIsFirstLane : DXILOp<110, waveIsFirstLane> {
925+
let Doc = "returns 1 for the first lane in the wave";
926+
let intrinsics = [ IntrinSelect<int_dx_wave_is_first_lane> ];
927+
let arguments = [];
928+
let result = Int1Ty;
929+
let stages = [Stages<DXIL1_0, [all_stages]>];
930+
}
931+
932+
def WaveGetLaneIndex : DXILOp<111, waveGetLaneIndex> {
933+
let Doc = "returns the index of the current lane in the wave";
934+
let intrinsics = [ IntrinSelect<int_dx_wave_getlaneindex> ];
935+
let arguments = [];
936+
let result = Int32Ty;
937+
let stages = [Stages<DXIL1_0, [all_stages]>];
938+
let attributes = [Attributes<DXIL1_0, [ReadOnly]>];
939+
}
940+
941+
def WaveActiveAnyTrue : DXILOp<113, waveAnyTrue> {
942+
let Doc = "returns true if the expression is true in any of the active lanes in the current wave";
943+
let intrinsics = [ IntrinSelect<int_dx_wave_any> ];
944+
let arguments = [Int1Ty];
945+
let result = Int1Ty;
946+
let stages = [Stages<DXIL1_0, [all_stages]>];
947+
}
948+
949+
def WaveReadLaneAt: DXILOp<117, waveReadLaneAt> {
950+
let Doc = "returns the value from the specified lane";
951+
let intrinsics = [ IntrinSelect<int_dx_wave_readlane> ];
952+
let arguments = [OverloadTy, Int32Ty];
953+
let result = OverloadTy;
954+
let overloads = [Overloads<DXIL1_0, [HalfTy, FloatTy, DoubleTy, Int1Ty, Int16Ty, Int32Ty, Int64Ty]>];
955+
let stages = [Stages<DXIL1_0, [all_stages]>];
956+
}
957+
958+
def WaveAllBitCount : DXILOp<135, waveAllOp> {
959+
let Doc = "returns the count of bits set to 1 across the wave";
960+
let intrinsics = [ IntrinSelect<int_dx_wave_active_countbits> ];
961+
let arguments = [Int1Ty];
962+
let result = Int32Ty;
963+
let stages = [Stages<DXIL1_0, [all_stages]>];
964+
}
965+
910966
def Dot4AddI8Packed : DXILOp<163, dot4AddPacked> {
911967
let Doc = "signed dot product of 4 x i8 vectors packed into i32, with "
912968
"accumulate to i32";
@@ -942,59 +998,3 @@ def CreateHandleFromBinding : DXILOp<217, createHandleFromBinding> {
942998
let stages = [Stages<DXIL1_6, [all_stages]>];
943999
let attributes = [Attributes<DXIL1_0, [ReadNone]>];
9441000
}
945-
946-
def WaveActiveAnyTrue : DXILOp<113, waveAnyTrue> {
947-
let Doc = "returns true if the expression is true in any of the active lanes in the current wave";
948-
let intrinsics = [ IntrinSelect<int_dx_wave_any> ];
949-
let arguments = [Int1Ty];
950-
let result = Int1Ty;
951-
let stages = [Stages<DXIL1_0, [all_stages]>];
952-
}
953-
954-
def WaveIsFirstLane : DXILOp<110, waveIsFirstLane> {
955-
let Doc = "returns 1 for the first lane in the wave";
956-
let intrinsics = [ IntrinSelect<int_dx_wave_is_first_lane> ];
957-
let arguments = [];
958-
let result = Int1Ty;
959-
let stages = [Stages<DXIL1_0, [all_stages]>];
960-
}
961-
962-
def WaveReadLaneAt: DXILOp<117, waveReadLaneAt> {
963-
let Doc = "returns the value from the specified lane";
964-
let intrinsics = [ IntrinSelect<int_dx_wave_readlane> ];
965-
let arguments = [OverloadTy, Int32Ty];
966-
let result = OverloadTy;
967-
let overloads = [Overloads<DXIL1_0, [HalfTy, FloatTy, DoubleTy, Int1Ty, Int16Ty, Int32Ty, Int64Ty]>];
968-
let stages = [Stages<DXIL1_0, [all_stages]>];
969-
}
970-
971-
def WaveGetLaneIndex : DXILOp<111, waveGetLaneIndex> {
972-
let Doc = "returns the index of the current lane in the wave";
973-
let intrinsics = [ IntrinSelect<int_dx_wave_getlaneindex> ];
974-
let arguments = [];
975-
let result = Int32Ty;
976-
let stages = [Stages<DXIL1_0, [all_stages]>];
977-
let attributes = [Attributes<DXIL1_0, [ReadOnly]>];
978-
}
979-
980-
def WaveAllBitCount : DXILOp<135, waveAllOp> {
981-
let Doc = "returns the count of bits set to 1 across the wave";
982-
let intrinsics = [ IntrinSelect<int_dx_wave_active_countbits> ];
983-
let arguments = [Int1Ty];
984-
let result = Int32Ty;
985-
let stages = [Stages<DXIL1_0, [all_stages]>];
986-
}
987-
988-
def Barrier : DXILOp<80, barrier> {
989-
let Doc = "inserts a memory barrier in the shader";
990-
let intrinsics = [
991-
IntrinSelect<
992-
int_dx_group_memory_barrier_with_group_sync,
993-
[ IntrinArgI32<BarrierMode_GroupMemoryBarrierWithGroupSync> ]>,
994-
];
995-
996-
let arguments = [Int32Ty];
997-
let result = VoidTy;
998-
let stages = [Stages<DXIL1_0, [compute, library]>];
999-
let attributes = [Attributes<DXIL1_0, []>];
1000-
}

0 commit comments

Comments
 (0)