@@ -428,6 +431,7 @@ bool SPIRVInstructionSelector::spvSelect(Register ResVReg,
case TargetOpcode::G_INTRINSIC:
case TargetOpcode::G_INTRINSIC_W_SIDE_EFFECTS:
+ case TargetOpcode::G_INTRINSIC_CONVERGENT:
inbelic wrote:
Afaict, not within this section of t
@@ -87,6 +87,7 @@ class CGHLSLRuntime {
GENERATE_HLSL_INTRINSIC_FUNCTION(SDot, sdot)
GENERATE_HLSL_INTRINSIC_FUNCTION(UDot, udot)
GENERATE_HLSL_INTRINSIC_FUNCTION(WaveIsFirstLane, wave_is_first_lane)
+ GENERATE_HLSL_INTRINSIC_FUNCTION(WaveReadLaneAt, waveReadLaneAt)
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/111010
>From 70089645ec5cf62b491a56df96ec46f4328fbc11 Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Thu, 3 Oct 2024 11:43:51 -0700
Subject: [PATCH 01/10] [HLSL] Implement `WaveReadLaneAt` intrinsic
- create a
@@ -0,0 +1,26 @@
+// RUN: %clang_cc1 -finclude-default-header -triple
dxil-pc-shadermodel6.6-library %s -fnative-half-type -emit-llvm-only
-disable-llvm-passes -verify -verify-ignore-unexpected
inbelic wrote:
Good catch. There are no ignored diagnostics and it
inbelic wrote:
I will go ahead and merge this tomorrow if there are no other comments.
https://github.com/llvm/llvm-project/pull/111010
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/inbelic edited
https://github.com/llvm/llvm-project/pull/111576
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/inbelic ready_for_review
https://github.com/llvm/llvm-project/pull/111576
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/inbelic edited
https://github.com/llvm/llvm-project/pull/111576
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/inbelic created
https://github.com/llvm/llvm-project/pull/111576
- add additional lowering for directx backend in CGBuiltin.cpp
- add directx intrinsic to IntrinscsDirectX.td
- add semantic check of arguments in SemaHLSL.cpp
- add mapping to DXIL op in DXIL.td
https://github.com/inbelic created
https://github.com/llvm/llvm-project/pull/112400
- add clang builtin to Builtins.td
- link builtin in hlsl_intrinsics
- add codegen for spirv intrinsic and two directx intrinsics to retain
signedness information of the operands in CGBuiltin.cpp
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/112400
>From c541955941a11b57efc624b87f50ce61f1b4c26a Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Fri, 11 Oct 2024 15:06:15 -0700
Subject: [PATCH] [HLSL] Implement `WaveActiveSum` intrinsic
- add clang built
inbelic wrote:
Dependent on https://github.com/llvm/llvm-project/pull/112058 and
https://github.com/llvm/llvm-project/pull/111010.
https://github.com/llvm/llvm-project/pull/112400
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.l
@@ -0,0 +1,6 @@
+// RUN: %clang_cc1 -finclude-default-header -triple
dxil-pc-shadermodel6.6-library %s -emit-llvm-only -disable-llvm-passes -verify
-verify-ignore-unexpected
inbelic wrote:
Will forward this comment here about `-verify-ignore-unexpected`:
https
@@ -2018,6 +2018,11 @@ bool SemaHLSL::CheckBuiltinFunctionCall(unsigned
BuiltinID, CallExpr *TheCall) {
return true;
break;
}
+ case Builtin::BI__builtin_hlsl_group_memory_barrier_with_group_sync: {
+if (SemaRef.checkArgCountAtMost(TheCall, 0))
---
https://github.com/inbelic approved this pull request.
LGTM, just a couple nits.
https://github.com/llvm/llvm-project/pull/111883
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -4830,6 +4830,12 @@ def HLSLRadians : LangBuiltin<"HLSL_LANG"> {
let Prototype = "void(...)";
}
+def HLSLGroupMemoryBarrierWithGroupSync: LangBuiltin<"HLSL_LANG"> {
+ let Spellings = ["__builtin_hlsl_group_memory_barrier_with_group_sync"];
+ let Attributes = [NoThrow, C
https://github.com/inbelic edited
https://github.com/llvm/llvm-project/pull/111883
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/111010
>From 70089645ec5cf62b491a56df96ec46f4328fbc11 Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Thu, 3 Oct 2024 11:43:51 -0700
Subject: [PATCH 01/11] [HLSL] Implement `WaveReadLaneAt` intrinsic
- create a
@@ -87,6 +87,7 @@ class CGHLSLRuntime {
GENERATE_HLSL_INTRINSIC_FUNCTION(SDot, sdot)
GENERATE_HLSL_INTRINSIC_FUNCTION(UDot, udot)
GENERATE_HLSL_INTRINSIC_FUNCTION(WaveIsFirstLane, wave_is_first_lane)
+ GENERATE_HLSL_INTRINSIC_FUNCTION(WaveReadLaneAt, waveReadLaneAt)
@@ -18827,9 +18827,21 @@ case Builtin::BI__builtin_hlsl_elementwise_isinf: {
ArrayRef{Op0, Op1}, nullptr, "hlsl.step");
}
case Builtin::BI__builtin_hlsl_wave_get_lane_index: {
-return EmitRuntimeCall(CGM.CreateRuntimeFunction(
-llvm::FunctionType::get(In
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/111576
>From 167718e352554e167c4690a4962234ba782bceff Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Tue, 8 Oct 2024 09:28:43 -0700
Subject: [PATCH 1/3] [HLSL][DXIL] Implement WaveGetLaneIndex
- add additional
@@ -0,0 +1,6 @@
+// RUN: %clang_cc1 -finclude-default-header -triple
dxil-pc-shadermodel6.6-library %s -fnative-half-type -emit-llvm-only
-disable-llvm-passes -verify -verify-ignore-unexpected
inbelic wrote:
The flag was not needed, so have removed it.
https:/
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/111209
>From 398dcb5c1a354c12d4d43af152f6d3e14f001274 Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Wed, 2 Oct 2024 13:30:33 -0700
Subject: [PATCH 1/2] [HLSL] Implementation the `degrees` intrinsic
- add degre
https://github.com/inbelic edited
https://github.com/llvm/llvm-project/pull/111576
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/111010
>From 70089645ec5cf62b491a56df96ec46f4328fbc11 Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Thu, 3 Oct 2024 11:43:51 -0700
Subject: [PATCH 1/9] [HLSL] Implement `WaveReadLaneAt` intrinsic
- create a cl
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/111010
>From 70089645ec5cf62b491a56df96ec46f4328fbc11 Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Thu, 3 Oct 2024 11:43:51 -0700
Subject: [PATCH 01/14] [HLSL] Implement `WaveReadLaneAt` intrinsic
- create a
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/111010
>From 70089645ec5cf62b491a56df96ec46f4328fbc11 Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Thu, 3 Oct 2024 11:43:51 -0700
Subject: [PATCH 01/14] [HLSL] Implement `WaveReadLaneAt` intrinsic
- create a
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/111209
>From 398dcb5c1a354c12d4d43af152f6d3e14f001274 Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Wed, 2 Oct 2024 13:30:33 -0700
Subject: [PATCH] [HLSL] Implementation the `degrees` intrinsic
- add degrees b
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/111576
>From 167718e352554e167c4690a4962234ba782bceff Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Tue, 8 Oct 2024 09:28:43 -0700
Subject: [PATCH] [HLSL][DXIL] Implement WaveGetLaneIndex
- add additional lowe
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/111576
>From 167718e352554e167c4690a4962234ba782bceff Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Tue, 8 Oct 2024 09:28:43 -0700
Subject: [PATCH 1/2] [HLSL][DXIL] Implement WaveGetLaneIndex
- add additional
@@ -2653,6 +2653,21 @@ bool SPIRVInstructionSelector::selectIntrinsic(Register
ResVReg,
.addUse(GR.getSPIRVTypeID(ResType))
.addUse(GR.getOrCreateConstInt(3, I, IntTy, TII));
}
+ case Intrinsic::spv_wave_read_lane_at: {
+assert(I.getNumOperands() == 4);
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/111010
>From 70089645ec5cf62b491a56df96ec46f4328fbc11 Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Thu, 3 Oct 2024 11:43:51 -0700
Subject: [PATCH 1/3] [HLSL] Implement `WaveReadLaneAt` intrinsic
- create a cl
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/111010
>From 70089645ec5cf62b491a56df96ec46f4328fbc11 Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Thu, 3 Oct 2024 11:43:51 -0700
Subject: [PATCH 1/3] [HLSL] Implement `WaveReadLaneAt` intrinsic
- create a cl
https://github.com/inbelic edited
https://github.com/llvm/llvm-project/pull/111010
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/inbelic created
https://github.com/llvm/llvm-project/pull/111209
- add degrees builtin
- link degrees api in hlsl_intrinsics.h
- add degrees intrinsic to IntrinsicDirectX.td
- add degrees intrinsic to IntrinsicSPIRV.td
- add lowering from clang builtin to d
https://github.com/inbelic edited
https://github.com/llvm/llvm-project/pull/111209
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1643,6 +1646,23 @@ bool SPIRVInstructionSelector::selectLength(Register
ResVReg,
.constrainAllUses(TII, TRI, RBI);
}
+bool SPIRVInstructionSelector::selectDegrees(Register ResVReg,
+ const SPIRVType *ResType,
+
@@ -2625,6 +2645,8 @@ bool SPIRVInstructionSelector::selectIntrinsic(Register
ResVReg,
return selectFmix(ResVReg, ResType, I);
case Intrinsic::spv_length:
return selectLength(ResVReg, ResType, I);
+ case Intrinsic::spv_degrees:
+return selectDegrees(ResVReg, Res
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/111010
>From 70089645ec5cf62b491a56df96ec46f4328fbc11 Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Thu, 3 Oct 2024 11:43:51 -0700
Subject: [PATCH 1/7] [HLSL] Implement `WaveReadLaneAt` intrinsic
- create a cl
@@ -82,5 +82,6 @@ let TargetPrefix = "spv" in {
[llvm_anyint_ty, LLVMScalarOrSameVectorWidth<0, LLVMVectorElementType<0>>],
[IntrNoMem, Commutative] >;
def int_spv_wave_is_first_lane : DefaultAttrsIntrinsic<[llvm_i1_ty], [],
[IntrConvergent]>;
+ def int_spv_wave_rea
@@ -83,6 +83,7 @@ def int_dx_umad : DefaultAttrsIntrinsic<[llvm_anyint_ty],
[LLVMMatchType<0>, LLV
def int_dx_normalize : DefaultAttrsIntrinsic<[LLVMMatchType<0>],
[llvm_anyfloat_ty], [IntrNoMem]>;
def int_dx_rsqrt : DefaultAttrsIntrinsic<[llvm_anyfloat_ty],
[LLVMMatchType<0
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/111010
>From 70089645ec5cf62b491a56df96ec46f4328fbc11 Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Thu, 3 Oct 2024 11:43:51 -0700
Subject: [PATCH 1/6] [HLSL] Implement `WaveReadLaneAt` intrinsic
- create a cl
https://github.com/inbelic edited
https://github.com/llvm/llvm-project/pull/111010
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -18835,6 +18835,22 @@ case Builtin::BI__builtin_hlsl_elementwise_isinf: {
Intrinsic::ID ID = CGM.getHLSLRuntime().getWaveIsFirstLaneIntrinsic();
return EmitRuntimeCall(Intrinsic::getDeclaration(&CGM.getModule(), ID));
}
+ case Builtin::BI__builtin_hlsl_wave_read_l
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/111209
>From 461d5133ea1ae1fcdffd036a926243ee3dce5abb Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Wed, 2 Oct 2024 13:30:33 -0700
Subject: [PATCH] [HLSL] Implementation the `degrees` intrinsic
- add degrees b
inbelic wrote:
Rebasing onto commit that allows the use of `selectExtInst` with both
`CL::degrees` and `GL::Degrees`. Adding additional testcase for this as well.
https://github.com/llvm/llvm-project/pull/111209
___
cfe-commits mailing list
cfe-commit
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/111010
>From 70089645ec5cf62b491a56df96ec46f4328fbc11 Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Thu, 3 Oct 2024 11:43:51 -0700
Subject: [PATCH 1/8] [HLSL] Implement `WaveReadLaneAt` intrinsic
- create a cl
@@ -2015,6 +2015,13 @@ _HLSL_AVAILABILITY(shadermodel, 6.0)
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_is_first_lane)
__attribute__((convergent)) bool WaveIsFirstLane();
+// \brief Returns the value of the expression for the given lane index within
+// the specified wave.
+templa
https://github.com/inbelic edited
https://github.com/llvm/llvm-project/pull/112400
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/inbelic ready_for_review
https://github.com/llvm/llvm-project/pull/112400
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/112400
>From 0bdb522d97752859b0b09c3ba7c815865b87 Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Fri, 18 Oct 2024 10:49:18 -0700
Subject: [PATCH 1/2] [HLSL][SPIRV] Implement `WaveActiveSum` intrinsic
- add cl
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/112991
>From b18e40978cae2c0d9ba9aeb61cf7294809b75012 Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Fri, 18 Oct 2024 14:41:57 -0700
Subject: [PATCH 1/2] [HLSL][SPIRV] Implement `WaveActiveMax` intrinsic
- add cl
https://github.com/inbelic created
https://github.com/llvm/llvm-project/pull/112991
- add clang builtin to Builtins.td
- link builtin in hlsl_intrinsics
- add codegen for spirv intrinsic and two directx intrinsics to retain
signedness information of the operands in CGBuiltin.cpp
- add s
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/112400
>From aa2ae997f66bf6cd43fc36cbe69c6731914ce9f0 Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Fri, 18 Oct 2024 10:49:18 -0700
Subject: [PATCH] [HLSL][SPIRV] Implement `WaveActiveSum` intrinsic
- add clang
https://github.com/inbelic edited
https://github.com/llvm/llvm-project/pull/112400
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/inbelic edited
https://github.com/llvm/llvm-project/pull/112400
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/inbelic edited
https://github.com/llvm/llvm-project/pull/112400
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/inbelic edited
https://github.com/llvm/llvm-project/pull/112400
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/inbelic edited
https://github.com/llvm/llvm-project/pull/112400
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/inbelic edited
https://github.com/llvm/llvm-project/pull/112400
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/inbelic edited
https://github.com/llvm/llvm-project/pull/112400
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/112400
>From 896b3adb4f2820f1ccc651cf98e2bade2f972dc4 Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Wed, 16 Oct 2024 14:44:09 -0700
Subject: [PATCH 1/2] [NFC][DXIL] add ability to alias to an intrinsic
- allows
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/112400
>From 0843af11c647e839704eded62c65d87ec1b2b730 Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Wed, 16 Oct 2024 15:27:12 -0700
Subject: [PATCH 1/3] [NFC][DXIL] Allow extra args to replaceFunctionWithOp
-
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/112400
>From 0843af11c647e839704eded62c65d87ec1b2b730 Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Wed, 16 Oct 2024 15:27:12 -0700
Subject: [PATCH 1/3] [NFC][DXIL] Allow extra args to replaceFunctionWithOp
-
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/112400
>From 0843af11c647e839704eded62c65d87ec1b2b730 Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Wed, 16 Oct 2024 15:27:12 -0700
Subject: [PATCH 1/3] [NFC][DXIL] Allow extra args to replaceFunctionWithOp
-
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/112400
>From 0843af11c647e839704eded62c65d87ec1b2b730 Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Wed, 16 Oct 2024 15:27:12 -0700
Subject: [PATCH 1/5] [NFC][DXIL] Allow extra args to replaceFunctionWithOp
-
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/112400
>From 0843af11c647e839704eded62c65d87ec1b2b730 Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Wed, 16 Oct 2024 15:27:12 -0700
Subject: [PATCH 1/3] [NFC][DXIL] Allow extra args to replaceFunctionWithOp
-
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/111209
>From 398dcb5c1a354c12d4d43af152f6d3e14f001274 Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Wed, 2 Oct 2024 13:30:33 -0700
Subject: [PATCH 1/2] [HLSL] Implementation the `degrees` intrinsic
- add degre
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/111209
>From 398dcb5c1a354c12d4d43af152f6d3e14f001274 Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Wed, 2 Oct 2024 13:30:33 -0700
Subject: [PATCH 1/3] [HLSL] Implementation the `degrees` intrinsic
- add degre
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/111010
>From 70089645ec5cf62b491a56df96ec46f4328fbc11 Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Thu, 3 Oct 2024 11:43:51 -0700
Subject: [PATCH 01/11] [HLSL] Implement `WaveReadLaneAt` intrinsic
- create a
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/111010
>From 70089645ec5cf62b491a56df96ec46f4328fbc11 Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Thu, 3 Oct 2024 11:43:51 -0700
Subject: [PATCH 1/2] [HLSL] Implement `WaveReadLaneAt` intrinsic
- create a cl
https://github.com/inbelic edited
https://github.com/llvm/llvm-project/pull/111010
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/111010
>From 358ea8278b4e10a094d342aa9b3b1571120a1478 Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Thu, 3 Oct 2024 11:43:51 -0700
Subject: [PATCH 1/2] [HLSL] Implement `WaveReadLaneAt` intrinsic
- create a cl
https://github.com/inbelic edited
https://github.com/llvm/llvm-project/pull/111010
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/inbelic edited
https://github.com/llvm/llvm-project/pull/111010
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/inbelic ready_for_review
https://github.com/llvm/llvm-project/pull/111209
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/inbelic edited
https://github.com/llvm/llvm-project/pull/111209
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/inbelic edited
https://github.com/llvm/llvm-project/pull/111010
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -2653,6 +2653,21 @@ bool SPIRVInstructionSelector::selectIntrinsic(Register
ResVReg,
.addUse(GR.getSPIRVTypeID(ResType))
.addUse(GR.getOrCreateConstInt(3, I, IntTy, TII));
}
+ case Intrinsic::spv_wave_read_lane_at: {
+assert(I.getNumOperands() == 4);
https://github.com/inbelic ready_for_review
https://github.com/llvm/llvm-project/pull/111010
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/inbelic edited
https://github.com/llvm/llvm-project/pull/111010
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/113382
>From 68c16dc2e21d3a78a388fdb883551f32b902db11 Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Fri, 18 Oct 2024 15:48:29 -0700
Subject: [PATCH 1/2] [DXIL][SPIRV] Lower WaveActiveCountBits intrinsic
- add co
https://github.com/inbelic created
https://github.com/llvm/llvm-project/pull/113382
- add codegen for llvm builtin to spirv/directx intrinsic in CGBuiltin.cpp
- add lowering of spirv intrinsic to spirv backend in
SPIRVInstructionSelector.cpp
- add lowering of directx intrinsic to dxil op
https://github.com/inbelic ready_for_review
https://github.com/llvm/llvm-project/pull/113382
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
inbelic wrote:
Failing testcase is unrelated. Will need to rebase on review changes.
https://github.com/llvm/llvm-project/pull/113382
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1762,6 +1765,36 @@ bool SPIRVInstructionSelector::selectSign(Register
ResVReg,
return Result;
}
+bool SPIRVInstructionSelector::selectWaveActiveCountBits(
+Register ResVReg, const SPIRVType *ResType, MachineInstr &I) const {
+ assert(I.getNumOperands() == 3);
+ as
https://github.com/inbelic edited
https://github.com/llvm/llvm-project/pull/113623
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/inbelic edited
https://github.com/llvm/llvm-project/pull/113382
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1762,6 +1765,36 @@ bool SPIRVInstructionSelector::selectSign(Register
ResVReg,
return Result;
}
+bool SPIRVInstructionSelector::selectWaveActiveCountBits(
+Register ResVReg, const SPIRVType *ResType, MachineInstr &I) const {
+ assert(I.getNumOperands() == 3);
+ as
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/113623
>From 46822507e0b70e91cf6f4f0295d257978652bfbc Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Wed, 23 Oct 2024 22:59:15 +
Subject: [PATCH 1/2] [HLSL][SPIRV][DXIL] Implement `dot4add_i8packed`
intrinsic
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/113623
>From 81dfa26a941f7a0926a3126fe3ebbb4d2a67cec1 Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Wed, 23 Oct 2024 22:59:15 +
Subject: [PATCH 1/3] [HLSL][SPIRV][DXIL] Implement `dot4add_i8packed`
intrinsic
https://github.com/inbelic edited
https://github.com/llvm/llvm-project/pull/112400
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/inbelic edited
https://github.com/llvm/llvm-project/pull/112400
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -820,3 +820,12 @@ def WaveGetLaneIndex : DXILOp<111, waveGetLaneIndex> {
let stages = [Stages];
let attributes = [Attributes];
}
+
+def WaveAllBitCount : DXILOp<135, waveAllOp> {
+ let Doc = "returns the count of bits set to 1 across the wave";
+ let LLVMIntrinsic = in
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/112400
>From cb507ccb6abbd39198011f5213371bd22405fb30 Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Fri, 18 Oct 2024 10:49:18 -0700
Subject: [PATCH] [HLSL][SPIRV][DXIL] Implement `WaveActiveSum` intrinsic
- add cl
https://github.com/inbelic updated
https://github.com/llvm/llvm-project/pull/113623
>From 81dfa26a941f7a0926a3126fe3ebbb4d2a67cec1 Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Wed, 23 Oct 2024 22:59:15 +
Subject: [PATCH 1/4] [HLSL][SPIRV][DXIL] Implement `dot4add_i8packed`
intrinsic
@@ -1694,6 +1698,84 @@ bool SPIRVInstructionSelector::selectIntegerDot(Register
ResVReg,
return Result;
}
+// Since pre-1.6 SPIRV has no DotProductInput4x8BitPacked implementation,
+// extract the elements of the packed inputs, multiply them and add the result
+// to the ac
https://github.com/inbelic edited
https://github.com/llvm/llvm-project/pull/113382
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/inbelic deleted
https://github.com/llvm/llvm-project/pull/113382
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/inbelic created
https://github.com/llvm/llvm-project/pull/114847
None
>From f340a6f0421693bd3489adc1c68983dfae9646dd Mon Sep 17 00:00:00 2001
From: Finn Plummer
Date: Mon, 4 Nov 2024 17:38:36 +
Subject: [PATCH 1/4] [NFC][Scalarizer][TargetTransformInfo] Add
`isVectorInt
1 - 100 of 388 matches
Mail list logo