[llvm-bugs] [Bug 27721] New: PowerPC64: fast isel issue with 16 bit signed constant
    via llvm-bugs 
    llvm-bugs at lists.llvm.org
       
    Thu May 12 04:37:49 PDT 2016
    
    
  
https://llvm.org/bugs/show_bug.cgi?id=27721
            Bug ID: 27721
           Summary: PowerPC64: fast isel issue with 16 bit signed constant
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: PowerPC
          Assignee: unassignedbugs at nondot.org
          Reporter: anton at samba.org
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified
I'm seeing issues with the following test case:
unsigned int k = 1;
unsigned int i;
float h;
float *j = &h;
void foo(void)
{
        unsigned short m = 0;
        if (k) {
                m = 46334;
                k = 3;
        }
        i;
        for (;;) {
                *j = m;
                if (m)
                        break;
        }
}
The constant is created as expected at -O1:
clang -O1 -fno-strict-aliasing
    lis 5, 0
    ori 3, 5, 46334
    mtvsrwz 0, 3
But if we enable fast isel, we end up with a sign extended constant:
clang -O1 -fno-strict-aliasing -mllvm -fast-isel
    li 3, -19202
    mtvsrwz 0, 3
-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20160512/35eda00b/attachment.html>
    
    
More information about the llvm-bugs
mailing list