[mlir][spirv] Rename spv.GLSL ops to spv.GL. NFC.This is to improve consistency within the SPIR-V dialect and make these ops a bit shorter.Reviewed By: antiagainstDifferential Revision: https:/
[mlir][spirv] Rename spv.GLSL ops to spv.GL. NFC.This is to improve consistency within the SPIR-V dialect and make these ops a bit shorter.Reviewed By: antiagainstDifferential Revision: https://reviews.llvm.org/D130280
show more ...
[mlir][spirv] Rename spv.ocl to spv.cl. NFC.This is to improve the consistency within the SPIR-V dialect and to make op names a bit shorter.Reviewed By: antiagainstDifferential Revision: https:
[mlir][spirv] Rename spv.ocl to spv.cl. NFC.This is to improve the consistency within the SPIR-V dialect and to make op names a bit shorter.Reviewed By: antiagainstDifferential Revision: https://reviews.llvm.org/D130194
[mlir][spirv] Add path for math.round to spirv for OCL and GLSLOpenCL's round function matches `math.round` so we can directly lower tothe op, this includes adding the op definition to the SPIRV O
[mlir][spirv] Add path for math.round to spirv for OCL and GLSLOpenCL's round function matches `math.round` so we can directly lower tothe op, this includes adding the op definition to the SPIRV OCL ops.GLSL does not guarantee rounding direction so we include custom roundingcode to guarantee correct rounding direction.Reviewed By: antiagainstDifferential Revision: https://reviews.llvm.org/D129236
[mlir][spirv] Workaround driver bug in math.ctlz conversion againThe previous approach does not work as the Adreno driver isclever at optimizing away the selection. So now check twoinputs togethe
[mlir][spirv] Workaround driver bug in math.ctlz conversion againThe previous approach does not work as the Adreno driver isclever at optimizing away the selection. So now check twoinputs together.Reviewed By: ThomasRaouxDifferential Revision: https://reviews.llvm.org/D127930
[mlir][spirv] Handle corner cases for math.powf conversionPer GLSL Pow extended instruction spec: "Result is undefined ifx < 0. Result is undefined if x = 0 and y <= 0." So we need tohandle negat
[mlir][spirv] Handle corner cases for math.powf conversionPer GLSL Pow extended instruction spec: "Result is undefined ifx < 0. Result is undefined if x = 0 and y <= 0." So we need tohandle negative `x` values specifically.Reviewed By: ThomasRaouxDifferential Revision: https://reviews.llvm.org/D127816
[mlir][spirv] Fix math.ctlz for full zero bit casesIf the integer has all zero bits, GLSL FindUMsb would return -1.So theoretically (31 - FindUMsb) should still give use the correctresult. Howev
[mlir][spirv] Fix math.ctlz for full zero bit casesIf the integer has all zero bits, GLSL FindUMsb would return -1.So theoretically (31 - FindUMsb) should still give use the correctresult. However, Adreno GPUshave issues with this:https://buildkite.com/iree/iree-test-android/builds/6482#01815f05-3926-466f-822a-1e20299e5461This looks like a driver bug. So handle the corner case explicityto workaround it.Reviewed By: mravishankarDifferential Revision: https://reviews.llvm.org/D127747
[mlir][spirv] Convert math.ctlz to spv.GLSL.FindUMsbReviewed By: ThomasRaouxDifferential Revision: https://reviews.llvm.org/D127582
[mlir][spirv] Replace StructAttrs with AttrDefsDepends on D127370Reviewed By: antiagainstDifferential Revision: https://reviews.llvm.org/D127373
[mlir][NFC] Update textual references of `func` to `func.func` in Conversion/ testsThe special case parsing of `func` operations is being removed.
[mlir][spirv] Add pattern to lower math.copysignThis follows the logic:https://git.musl-libc.org/cgit/musl/tree/src/math/copysignf.cReviewed By: ThomasRaouxDifferential Revision: https://revie
[mlir][spirv] Add pattern to lower math.copysignThis follows the logic:https://git.musl-libc.org/cgit/musl/tree/src/math/copysignf.cReviewed By: ThomasRaouxDifferential Revision: https://reviews.llvm.org/D122910
[mlir][spirv] Add OpenCL fma op and loweringAlso, it seems Khronos has changed html spec format so small adjustment to script was needed.Base op parsing is also probably broken.Differential Revi
[mlir][spirv] Add OpenCL fma op and loweringAlso, it seems Khronos has changed html spec format so small adjustment to script was needed.Base op parsing is also probably broken.Differential Revision: https://reviews.llvm.org/D119678
[mlir] Add support for ExpM1 to GLSL/OpenCL SPIRV BackendsAdding a similar decomposition for exponential minus one to the SPIRVbackends along with the necessary tests.Reviewed By: antiagainstD
[mlir] Add support for ExpM1 to GLSL/OpenCL SPIRV BackendsAdding a similar decomposition for exponential minus one to the SPIRVbackends along with the necessary tests.Reviewed By: antiagainstDifferential Revision: https://reviews.llvm.org/D118081
[mlir][spirv] Add math.fma lowering to spirvDifferential Revision: https://reviews.llvm.org/D117704
[mlir][spirv] math.erf OpenCL loweringDifferential Revision: https://reviews.llvm.org/D115335
[mlir][spirv] arith::RemSIOp OpenCL loweringDifferential Revision: https://reviews.llvm.org/D114524
[mlir][spirv] Add math to OpenCL conversionDifferential Revision: https://reviews.llvm.org/D113780
[mlir] NFC: split Math to SPIR-V conversion into their own filesReviewed By: hanchungDifferential Revision: https://reviews.llvm.org/D107093