[llvm-dev] Using single register class in Pat conversion in XXXInstrInfo.td
vivek pandya via llvm-dev
llvm-dev at lists.llvm.org
Mon May 15 02:58:53 PDT 2017
Hello LLVMDevs,
I have following two patterns :
def : Pat<(selectcc (f32 GR32:$L), (f32 GR32:$R),
(i32 GR32:$T), (i32 GR32:$F), SETOLT),
(Select_CC GR32:$T, GR32:$F, (FCMP_LT GR32:$L, GR32:$R), 1)>;
def : Pat<(selectcc (f32 GR32:$L), (f32 GR32:$R),
(f32 GR32:$T), (f32 GR32:$F), SETOLT),
(Select_CC GR32:$T, GR32:$F, (FCMP_LT GR32:$L, GR32:$R), 1)>;
but I want to write it to single pattern like
Pat<(selectcc (f32 GR32:$L), (f32 GR32:$R),
GR32:$T, GR32:$F, SETOLT),
(Select_CC GR32:$T, GR32:$F, (FCMP_LT GR32:$L, GR32:$R), 1)>;
GR32 is single register class used for i32/f32
and what I want is if the comparison is between f32 values then generate
FCMP , $T and $F can be i32/f32 but if I use above pattern table gen fails
with "Could not infer all types in pattern"
How to write such pattern matching rule ?
Sincerely,
VIvek
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170515/be48abd8/attachment.html>
More information about the llvm-dev
mailing list