brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1004 B · 409e14a Raw
34 lines · plain
1; RUN: llc -mtriple=hexagon -mcpu=hexagonv5 < %s | FileCheck %s2; Generate MemOps for V4 and above.3 4 5define void @f(ptr %p) nounwind {6entry:7; CHECK:  memw(r{{[0-9]+}}+#40) -= #18  %p.addr = alloca ptr, align 49  store ptr %p, ptr %p.addr, align 410  %0 = load ptr, ptr %p.addr, align 411  %add.ptr = getelementptr inbounds i32, ptr %0, i32 1012  %1 = load i32, ptr %add.ptr, align 413  %sub = sub nsw i32 %1, 114  store i32 %sub, ptr %add.ptr, align 415  ret void16}17 18define void @g(ptr %p, i32 %i) nounwind {19entry:20; CHECK: memw(r{{[0-9]+}}+#40) -= #121  %p.addr = alloca ptr, align 422  %i.addr = alloca i32, align 423  store ptr %p, ptr %p.addr, align 424  store i32 %i, ptr %i.addr, align 425  %0 = load ptr, ptr %p.addr, align 426  %1 = load i32, ptr %i.addr, align 427  %add.ptr = getelementptr inbounds i32, ptr %0, i32 %128  %add.ptr1 = getelementptr inbounds i32, ptr %add.ptr, i32 1029  %2 = load i32, ptr %add.ptr1, align 430  %sub = sub nsw i32 %2, 131  store i32 %sub, ptr %add.ptr1, align 432  ret void33}34