Dan Gohman | 36a0947 | 2009-09-08 23:54:48 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s |
Mon P Wang | bae527d | 2008-12-10 03:59:02 +0000 | [diff] [blame] | 2 | |
| 3 | ; Examples that exhibits a bug in DAGCombine. The case is triggered by the |
| 4 | ; following program. The bug is DAGCombine assumes that the bit convert |
| 5 | ; preserves the number of elements so the optimization code tries to read |
| 6 | ; through the 3rd mask element, which doesn't exist. |
| 7 | define i32 @update(<2 x i64> %val1, <2 x i64> %val2) nounwind readnone { |
| 8 | entry: |
Dan Gohman | aceba31 | 2010-01-05 17:55:26 +0000 | [diff] [blame^] | 9 | %shuf = shufflevector <2 x i64> %val1, <2 x i64> %val2, <2 x i32> <i32 0, i32 3> |
| 10 | %bit = bitcast <2 x i64> %shuf to <4 x i32> |
| 11 | %res = extractelement <4 x i32> %bit, i32 3 |
| 12 | ret i32 %res |
| 13 | } |