diff options
author | Alon Zakai <alonzakai@gmail.com> | 2014-01-29 15:09:08 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2014-01-29 15:09:08 -0800 |
commit | 092c9c46549c4eaeea1104fe58290c7661923667 (patch) | |
tree | 0fe66bd8eb9789166bf015490d30ae5a5d1678ab | |
parent | e8746d343afbe32f17a4652c1da59aa6677cd871 (diff) |
improve i96 test
-rw-r--r-- | tests/cases/i96shiftnon32_ta2.ll | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/tests/cases/i96shiftnon32_ta2.ll b/tests/cases/i96shiftnon32_ta2.ll index 89f0d6d9..55e84575 100644 --- a/tests/cases/i96shiftnon32_ta2.ll +++ b/tests/cases/i96shiftnon32_ta2.ll @@ -19,7 +19,10 @@ define internal fastcc void @f1(%struct.c_s* nocapture %tp) nounwind { call fastcc void @f2(%struct.c_s* sret %1) %2 = bitcast %struct.c_s* %1 to i96* %srcval1 = load i96* %2, align 8 - %3 = lshr i96 %srcval1, 4 + %small = trunc i96 %srcval1 to i64 + %large = zext i64 %small to i96 + %return = or i96 %srcval1, %large + %3 = lshr i96 %return, 4 %4 = shl i96 %3, 2 %5 = bitcast %struct.c_s* %tp to i96* store i96 %4, i96* %5, align 4 |