Nadav Rotem | aec9f38 | 2012-07-15 12:26:30 +0000 | [diff] [blame^] | 1 | ; RUN: llc < %s -march=x86 -mcpu=corei7 -mattr=+avx2 | FileCheck %s |
| 2 | |
| 3 | declare x86_fastcallcc i64 @barrier() |
| 4 | |
| 5 | ;CHECK: bcast_fold |
| 6 | ;CHECK: vbroadcastss -24(%ebp), %ymm0 # 16-byte Folded Reload |
| 7 | ;CHECK: ret |
| 8 | define <8 x float> @bcast_fold( float* %A) { |
| 9 | BB: |
| 10 | %A0 = load float* %A |
| 11 | %tt3 = call x86_fastcallcc i64 @barrier() |
| 12 | br i1 undef, label %work, label %exit |
| 13 | |
| 14 | work: |
| 15 | %A1 = insertelement <8 x float> undef, float %A0, i32 0 |
| 16 | %A2 = shufflevector <8 x float> %A1, <8 x float> undef, <8 x i32> <i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0> |
| 17 | ret <8 x float> %A2 |
| 18 | |
| 19 | exit: |
| 20 | ret <8 x float> undef |
| 21 | } |