brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 019077c Raw
58 lines · plain
1; Test memory-to-memory ORs.2;3; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s4 5; Test the simple i8 case.6define void @f1(ptr %ptr1) {7; CHECK-LABEL: f1:8; CHECK: oc 1(1,%r2), 0(%r2)9; CHECK: br %r1410  %ptr2 = getelementptr i8, ptr %ptr1, i64 111  %val = load i8, ptr %ptr112  %old = load i8, ptr %ptr213  %or = or i8 %val, %old14  store i8 %or, ptr %ptr215  ret void16}17 18; Test the simple i16 case.19define void @f2(ptr %ptr1) {20; CHECK-LABEL: f2:21; CHECK: oc 2(2,%r2), 0(%r2)22; CHECK: br %r1423  %ptr2 = getelementptr i16, ptr %ptr1, i64 124  %val = load i16, ptr %ptr125  %old = load i16, ptr %ptr226  %or = or i16 %val, %old27  store i16 %or, ptr %ptr228  ret void29}30 31; Test the simple i32 case.32define void @f3(ptr %ptr1) {33; CHECK-LABEL: f3:34; CHECK: oc 4(4,%r2), 0(%r2)35; CHECK: br %r1436  %ptr2 = getelementptr i32, ptr %ptr1, i64 137  %val = load i32, ptr %ptr138  %old = load i32, ptr %ptr239  %or = or i32 %old, %val40  store i32 %or, ptr %ptr241  ret void42}43 44; Test the i64 case.45define void @f4(ptr %ptr1) {46; CHECK-LABEL: f4:47; CHECK: oc 8(8,%r2), 0(%r2)48; CHECK: br %r1449  %ptr2 = getelementptr i64, ptr %ptr1, i64 150  %val = load i64, ptr %ptr151  %old = load i64, ptr %ptr252  %or = or i64 %old, %val53  store i64 %or, ptr %ptr254  ret void55}56 57; Leave other more complicated tests to and-08.ll.58