[llvm] Add PreLegalizer pattern matching for degrees GL extension (PR #216506)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Sat Aug 22 23:42:10 PDT 2026
================
@@ -185,6 +185,60 @@ void SPIRVCombinerHelper::applySPIRVFaceForward(MachineInstr &MI) const {
MI.eraseFromParent();
}
+/// This match is part of a combine that
+/// rewrites fmul (x,180/pi) to degrees(x)
+/// (f32 (g_fmul
+/// (f32 X)
+/// (f32 180/pi)))
+/// ->
+/// (f32 (g_intrinsic degrees
+/// (f32 X)))
+///
+/// The constant operand may also be a splat for vector types:
+/// (vXf32 (g_fmul
+/// (vXf32 X)
+/// (vXf32 splat(180/pi))))
+/// ->
+/// (vXf32 (g_intrinsic degrees
+/// (vXf32 X)))
+bool SPIRVCombinerHelper::matchDegrees(MachineInstr &MI) const {
----------------
arsenm wrote:
this should be tablegen
https://github.com/llvm/llvm-project/pull/216506
More information about the llvm-commits
mailing list