[LLVMdev] Be Careful with Positionally-Encoded Operands (AArch64, Mips, AMDGPU, etc.)
Hal Finkel
hfinkel at anl.gov
Thu Mar 13 06:28:24 PDT 2014
----- Original Message -----
> From: "Tim Northover" <t.p.northover at gmail.com>
> To: "Hal Finkel" <hfinkel at anl.gov>
> Cc: "LLVM Developers Mailing List" <llvmdev at cs.uiuc.edu>
> Sent: Thursday, March 13, 2014 4:06:49 AM
> Subject: Re: [LLVMdev] Be Careful with Positionally-Encoded Operands (AArch64, Mips, AMDGPU, etc.)
>
> Hi Hal,
>
> This sounds like a really good idea in general, but...
>
> > let noNamedPositionallyEncodedOperands = 1;
>
> The diagnostics produced are pretty atrocious (an assertion failure
> without even mentioning which instruction is the problem). I couldn't
> in good conscience recommend anyone try it in its present state if
> there are more than 1-2 problems.
Good point. I can add a better diagnostic for this case (where enabling noNamedPositionallyEncodedOperands causes the position-based mapping to run off the end of the operand list); I may not have time until Tuesday, however.
>
> > I'd like those maintaining the current backends (especially
> > AArch64,
> > Mips, AMDGPU, which I know to be problematic in this regard) to try
> > setting this and: a) fix those definitions that are problematic or
> > b) explain
> > to me that the current behavior is useful.
>
> I've looked into the SMULH/UMULH case (which appears to be the only
> issue in AArch64). It wasn't intended, but was also harmless.
> Fortunately it can be removed fairly easily so I've done that and
> enabled the flag in r203772.
Thanks!
-Hal
>
> Cheers.
>
> Tim.
>
--
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory
More information about the llvm-dev
mailing list