Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP1:Update
llvm.7809
backport-llvm-r199115
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File backport-llvm-r199115 of Package llvm.7809
------------------------------------------------------------------------ r199115 | rsandifo | 2014-01-13 16:40:25 +0100 (Mon, 13 Jan 2014) | 12 lines [SystemZ] Improve risbg-01.ll test The old mask in f24 wasn't well chosen because the lshr would always be zero. CodeGen didn't detect this but InstCombine would. The new mask ensures that both shifts are needed. f26 is specifically testing for a wrap-around mask. The AND can be applied to just the shift left, either before or after the shift. Again, CodeGen kept it in the original form but InstCombine would mask after the shift instead. The exact choice of NILF isn't important for the test so I just dropped it and kept the rotate. ------------------------------------------------------------------------ Index: test/CodeGen/SystemZ/risbg-01.ll =================================================================== --- test/CodeGen/SystemZ/risbg-01.ll.orig +++ test/CodeGen/SystemZ/risbg-01.ll @@ -269,12 +269,12 @@ define i64 @f23(i64 %foo) { ; mask and rotate. define i32 @f24(i32 %foo) { ; CHECK-LABEL: f24: -; CHECK: nilf %r2, 14 -; CHECK: rll %r2, %r2, 3 +; CHECK: nilf %r2, 254 +; CHECK: rll %r2, %r2, 29 ; CHECK: br %r14 - %and = and i32 %foo, 14 - %parta = shl i32 %and, 3 - %partb = lshr i32 %and, 29 + %and = and i32 %foo, 254 + %parta = lshr i32 %and, 3 + %partb = shl i32 %and, 29 %rotl = or i32 %parta, %partb ret i32 %rotl } @@ -295,7 +295,6 @@ define i64 @f25(i64 %foo) { ; This again needs a separate mask and rotate. define i32 @f26(i32 %foo) { ; CHECK-LABEL: f26: -; CHECK: nill %r2, 65487 ; CHECK: rll %r2, %r2, 5 ; CHECK: br %r14 %and = and i32 %foo, -49
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor