brintos

brintos / llvm-project-archived public Read only

0
0
Text · 988 B · 6d9cd46 Raw
26 lines · plain
1; RUN: opt -passes='function(scalarizer<load-store>)' -S < %s | FileCheck %s2target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"3 4; This input caused the scalarizer not to clear cached results5; properly.6;7; Any regressions should trigger an assert in the scalarizer.8 9define void @func(<4 x float> %val, ptr %ptr) {10  store <4 x float> %val, ptr %ptr11  ret void12; CHECK: store float %val.i0, ptr %ptr, align 1613; CHECK: store float %val.i1, ptr %ptr.i1, align 414; CHECK: store float %val.i2, ptr %ptr.i2, align 815; CHECK: store float %val.i3, ptr %ptr.i3, align 416}17 18define void @func.copy(<4 x float> %val, ptr %ptr) {19  store <4 x float> %val, ptr %ptr20  ret void21; CHECK: store float %val.i0, ptr %ptr, align 1622; CHECK: store float %val.i1, ptr %ptr.i1, align 423; CHECK: store float %val.i2, ptr %ptr.i2, align 824; CHECK: store float %val.i3, ptr %ptr.i3, align 425}26