brintos

brintos / llvm-project-archived public Read only

0
0
Text · 495 B · 271e1e3 Raw
18 lines · plain
1; Test that CodeGenPrepare respect the volatile flag when splitting a store.2;3; RUN: opt -S -mtriple=powerpc64le -codegenprepare -force-split-store < %s  | FileCheck %s4 5define void @fun(ptr %Src, ptr %Dst) {6; CHECK: store volatile i16 %8, ptr %Dst 7  %1 = load i16, ptr %Src8  %2 = trunc i16 %1 to i89  %3 = lshr i16 %1, 810  %4 = trunc i16 %3 to i811  %5 = zext i8 %2 to i1612  %6 = zext i8 %4 to i1613  %7 = shl nuw i16 %6, 814  %8 = or i16 %7, %515  store volatile i16 %8, ptr %Dst16  ret void17}18