-
Notifications
You must be signed in to change notification settings - Fork 15.2k
Description
| Bugzilla Link | 11184 |
| Resolution | FIXED |
| Resolved on | Oct 20, 2011 08:39 |
| Version | trunk |
| OS | All |
| Attachments | bitcode, test program |
| Reporter | LLVM Bugzilla Contributor |
Extended Description
The attached test case generates an <8xi8> vector with values <1 2 3 4 5 6 7 8> using a shuffle of 2 <4xi8> vectors and stores it to memory. With top-of-tree, it seems that incorrect values are being stored; the attached test program should print out "1 2 3 4 5 6 7 8" but instead prints the last 4 values, repeated twice:
% llc -filetype=obj bug.ll -o bug.o && clang bug.cpp bug.o && ./a.out
5 6 7 8 5 6 7 8
%
Some archaeology in the checkins indicates that the enabling of element promotion type legalization broke this. If I check out the version immediately before that one, I get the expected result:
% llc -filetype=obj bug.ll -o bug.o && clang bug.cpp bug.o && ./a.out
1 2 3 4 5 6 7 8
%
Author: Nadav Rotem nadav.rotem@intel.com
Date: Sun Oct 16 20:31:33 2011 +0000
Enable element promotion type legalization by deafault.
Changed tests which assumed that vectors are legalized by widening them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142152 91177308-0d34-0410-b5e6-96231b3b80d8