https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117251
--- Comment #11 from Michael Meissner <meissner at gcc dot gnu.org> --- For singlebuff.c, there is a clear improvement when using the XXEVAL instruction: XXEVAL TRUNK GCC14 GCC13 GCC12 GCC11 ------ ----- ----- ----- ----- ----- -O3: 4.46 5.40 5.40 5.35 5.36 7.54 The instruction summaries for singlebuff.c are: XXEVAL Trunk GCC14 GCC13 GCC12 ------ ----- ----- ----- ----- Fuse VANDC -> VXOR 210 600 600 600 600 Fuse VXOR -> VXOR --- 240 240 120 120 XXEVAL fuse ANDC -> XOR 390 --- --- --- --- XXEVAL fuse XOR -> XOR 240 --- --- --- --- Spill vector to stack 113 379 379 382 382 Load spilled vector from stack 333 796 796 757 757 Vector moves 34 80 80 119 119 Vector rotate right 696 696 696 696 696 XXLANDC or VANDC 210 600 600 600 600 XXLXOR or VXOR 954 1,824 1,824 1,824 1,824 XXSPLTIB and VEXTSB2D to load constants 96 96 96 96 96