[llvm-dev] Instruction Combine Cast (fptrunc (floor x)) -> (floor (fptrunc x))
Hal Finkel via llvm-dev
llvm-dev at lists.llvm.org
Fri Mar 17 06:31:49 PDT 2017
Hi Shiva,
Thanks for reporting this. It looks like a bug to me (from r292855). Can
you file a bug report? Matt, can you fix this?
-Hal
On 03/16/2017 10:08 PM, Shiva Chen via llvm-dev wrote:
> Hi,
>
> I have a test case would fail due to instruction combine cast
> from floor to floorf.
>
> double d = 1024.0 - 1.0 / 32768.0;
> extern double floor(double);
> extern float floorf(float);
> extern void abort();
>
> int main() {
>
> float f1 = (float)floor(d);
>
> if ((int)f1 != 1023)
> abort ();
>
> return 0;
> }
>
> My question is: Is the transformation legal for this case?
>
> Thanks,
> Shiva
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
--
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory
More information about the llvm-dev
mailing list