From 89eeecd15c28d399dc533ba24f02cb317b81e3e4 Mon Sep 17 00:00:00 2001 From: Lei Huang Date: Wed, 24 Sep 2025 14:27:42 -0400 Subject: [PATCH] [PowerPC][NFC] Simplify vector unpacked instr classes (#160564) Apply suggestion as per review comment in https://github.com/llvm/llvm-project/pull/151004/files#r2240893226 --- llvm/lib/Target/PowerPC/PPCInstrFuture.td | 50 +++++++---------------- 1 file changed, 15 insertions(+), 35 deletions(-) diff --git a/llvm/lib/Target/PowerPC/PPCInstrFuture.td b/llvm/lib/Target/PowerPC/PPCInstrFuture.td index 9acc3ca7ed78..08d633f962d9 100644 --- a/llvm/lib/Target/PowerPC/PPCInstrFuture.td +++ b/llvm/lib/Target/PowerPC/PPCInstrFuture.td @@ -45,79 +45,59 @@ multiclass XOForm_RTAB5_L1r opcode, bits<9> xo, dag OOL, dag IOL, } } -class VXForm_VRTB5 xo, bits<5> R, dag OOL, dag IOL, string asmstr, - list pattern> : I<4, OOL, IOL, asmstr, NoItinerary> { +class VXForm_VRTB5_Base xo, dag OOL, dag IOL, string asmstr, + list pattern> + : I<4, OOL, IOL, asmstr, NoItinerary> { bits<5> VRT; bits<5> VRB; let Pattern = pattern; let Inst{6...10} = VRT; - let Inst{11...15} = R; let Inst{16...20} = VRB; let Inst{21...31} = xo; } +class VXForm_VRTB5 xo, bits<5> R, dag OOL, dag IOL, string asmstr, + list pattern> + : VXForm_VRTB5_Base { + + let Inst{11...15} = R; +} + class VXForm_VRTB5_UIM2 xo, bits<3> R, dag OOL, dag IOL, string asmstr, list pattern> - : I<4, OOL, IOL, asmstr, NoItinerary> { - bits<5> VRT; - bits<5> VRB; + : VXForm_VRTB5_Base { bits<2> UIM; - let Pattern = pattern; - - let Inst{6...10} = VRT; let Inst{11...13} = R; let Inst{14...15} = UIM; - let Inst{16...20} = VRB; - let Inst{21...31} = xo; } class VXForm_VRTB5_UIM1 xo, bits<4> R, dag OOL, dag IOL, string asmstr, list pattern> - : I<4, OOL, IOL, asmstr, NoItinerary> { - bits<5> VRT; - bits<5> VRB; + : VXForm_VRTB5_Base { bits<1> UIM; - let Pattern = pattern; - - let Inst{6...10} = VRT; let Inst{11...14} = R; let Inst{15} = UIM; - let Inst{16...20} = VRB; - let Inst{21...31} = xo; } class VXForm_VRTB5_UIM3 xo, bits<2> R, dag OOL, dag IOL, string asmstr, list pattern> - : I<4, OOL, IOL, asmstr, NoItinerary> { - bits<5> VRT; - bits<5> VRB; + : VXForm_VRTB5_Base { bits<3> UIM; - let Pattern = pattern; - - let Inst{6...10} = VRT; let Inst{11...12} = R; let Inst{13...15} = UIM; - let Inst{16...20} = VRB; - let Inst{21...31} = xo; } class VXForm_VRTAB5 xo, dag OOL, dag IOL, string asmstr, - list pattern> : I<4, OOL, IOL, asmstr, NoItinerary> { - bits<5> VRT; + list pattern> + : VXForm_VRTB5_Base { bits<5> VRA; - bits<5> VRB; - let Pattern = pattern; - - let Inst{6...10} = VRT; let Inst{11...15} = VRA; - let Inst{16...20} = VRB; - let Inst{21...31} = xo; } class XX3Form_XTBp5_M2 xo, dag OOL, dag IOL, string asmstr,