blob: db92f20c352a2cf67a9c6beb227b441627eaa1fc [file] [log] [blame]
Matt Arsenaultb7748342015-09-21 15:59:46 +00001; RUN: llc -march=ppc64 -mtriple=ppc64-apple-darwin < %s | FileCheck %s
2
3; CHECK-LABEL: {{^}}_merge_8_float_zero_stores:
4; CHECK: li [[ZEROREG:r[0-9]+]], 0
5; CHECK-DAG: std [[ZEROREG]], 0([[PTR:r[0-9]+]])
6; CHECK-DAG: std [[ZEROREG]], 8([[PTR]])
7; CHECK-DAG: std [[ZEROREG]], 16([[PTR]])
8; CHECK-DAG: std [[ZEROREG]], 24([[PTR]])
9; CHECK: blr
10define void @merge_8_float_zero_stores(float* %ptr) {
11 %idx0 = getelementptr float, float* %ptr, i64 0
12 %idx1 = getelementptr float, float* %ptr, i64 1
13 %idx2 = getelementptr float, float* %ptr, i64 2
14 %idx3 = getelementptr float, float* %ptr, i64 3
15 %idx4 = getelementptr float, float* %ptr, i64 4
16 %idx5 = getelementptr float, float* %ptr, i64 5
17 %idx6 = getelementptr float, float* %ptr, i64 6
18 %idx7 = getelementptr float, float* %ptr, i64 7
19 store float 0.0, float* %idx0, align 4
20 store float 0.0, float* %idx1, align 4
21 store float 0.0, float* %idx2, align 4
22 store float 0.0, float* %idx3, align 4
23 store float 0.0, float* %idx4, align 4
24 store float 0.0, float* %idx5, align 4
25 store float 0.0, float* %idx6, align 4
26 store float 0.0, float* %idx7, align 4
27 ret void
28}