[Patch] Fix AArch32 VSEL's condition inversion

Tim Northover t.p.northover at gmail.com
Wed Dec 18 12:34:45 PST 2013


Hi Weiming,

> v = cond ? f0 : f1   =>  v = cond2 ? f1: f0, where cond2 is the inversion of cond (i.e.  LE=>GT, EQ=>NE, GT =>LE .ect.)

The existing code looks correct to me. It looks like if you invert the
"CMP" operands you need to use "Inverse" but if you invert the "VSEL"
operands you need to use Swapped. The current code does the latter, as
far as I can see.

Or am I missing something?

Cheers.

Tim.



More information about the llvm-commits mailing list