Eric Christopher | cee313d | 2019-04-17 04:52:47 +0000 | [diff] [blame] | 1 | ; RUN: opt -sccp -S < %s | FileCheck %s |
| 2 | |
| 3 | target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128-n8:16:32-S128" |
| 4 | |
| 5 | ; CHECK: store volatile <2 x i64> zeroinitializer, <2 x i64>* %p |
| 6 | ; rdar://11324230 |
| 7 | |
| 8 | define void @foo(<2 x i64>* %p) nounwind { |
| 9 | entry: |
| 10 | br label %while.body.i |
| 11 | |
| 12 | while.body.i: ; preds = %while.body.i, %entry |
| 13 | %vWorkExponent.i.033 = phi <4 x i32> [ %sub.i.i, %while.body.i ], [ <i32 939524096, i32 939524096, i32 939524096, i32 939524096>, %entry ] |
| 14 | %sub.i.i = add <4 x i32> %vWorkExponent.i.033, <i32 -8388608, i32 -8388608, i32 -8388608, i32 -8388608> |
| 15 | %0 = bitcast <4 x i32> %sub.i.i to <2 x i64> |
| 16 | %and.i119.i = and <2 x i64> %0, zeroinitializer |
| 17 | store volatile <2 x i64> %and.i119.i, <2 x i64>* %p |
| 18 | br label %while.body.i |
| 19 | } |
| 20 | |