[llvm-dev] [TableGen] What to do if there are overlapping instruction patterns?

Charlotte Delenk via llvm-dev llvm-dev at lists.llvm.org
Tue Aug 25 03:00:26 PDT 2020


I've been working on adding support for a (semi-proprietary) extension 
for PowerPC called "Paired-Singles". It's a SIMD instruction set 
supporting various operations on a vector of 2 32-bit floating point 
numbers.

The Extension is found in the PowerPC 750CL, modified variants of it are 
used in the Nintendo GameCube (Gekko), the Nintendo Wii (Broadway) and 
the Nintendo Wii U (Espresso)

It's been going pretty well so far, however the biggest hurdle I have 
encountered was that the testsuite is failing because the instruction 
space for Paired Singles has been reused for ISA 3.1 and VMX.

Is there a way to disembiguate them further? You can see my current 
patch at https://reviews.llvm.org/D85137 and it already prevents you 
from enabling Altivec and Paired Singles at the same time.




More information about the llvm-dev mailing list