[PATCH] Rewrite arm_neon.h generation from scratch

Renato Golin renato.golin at linaro.org
Thu Jun 5 13:31:53 PDT 2014


On 4 June 2014 11:39, James Molloy <james.molloy at arm.com> wrote:
> Here's an example: before:
>
>   case OpAbdl: {
>     std::string abd = MangleName("vabd", typestr, ClassS) + "(__a, __b)";
>     if (typestr[0] != 'U') {
>       // vabd results are always unsigned and must be zero-extended.
>       std::string utype = "U" + typestr.str();
>       s += "(" + TypeString(proto[0], typestr) + ")";
>       abd = "(" + TypeString('d', utype) + ")" + abd;
>       s += Extend(utype, abd) + ";";
>     } else {
>       s += Extend(typestr, abd) + ";";
>     }
>     break;
>   }
>
> after:
>
>   def OP_ABDL     : Op<(cast "R", (call "vmovl", (cast $p0, "U",
>                                                        (call "vabd", $p0,
> $p1))))>;

Shut up and take my money!

On the patches, the SetTheory files are new, but there are no deleted
files. Are you moving, or just copying?

Also, the other patch seems a much cleaner TableGen file, but the C++
file got completely messed up by patch thinking that close function
curly brackets is "equal" no matter which function they belong. You'd
think that after several decades using diff for patch review they
would begin to understand the concept of functions, structures, etc.

Anyway, I like the idea and I think it's an important move. I'm not
too bothered about the weird test cases, as long as the remaining ones
have a similar coverage.

cheers,
-renato



More information about the cfe-commits mailing list