brintos

brintos / llvm-project-archived public Read only

0
0
Text · 854 B · 2f5f490 Raw
36 lines · plain
1; RUN: llc -mtriple=hexagon -disable-hsdr < %s | FileCheck %s2 3declare void @bar(i64)4 5; CHECK-LABEL: halfword:6; CHECK: combine(#07 8define void @halfword(ptr nocapture %a) nounwind {9entry:10  %0 = load i16, ptr %a, align 211  %1 = zext i16 %0 to i6412  %add.ptr = getelementptr inbounds i16, ptr %a, i32 113  %2 = load i16, ptr %add.ptr, align 214  %3 = zext i16 %2 to i6415  %4 = shl nuw nsw i64 %3, 1616  %ins = or i64 %4, %117  tail call void @bar(i64 %ins) nounwind18  ret void19}20 21; CHECK-LABEL: byte:22; CHECK: combine(#023 24define void @byte(ptr nocapture %a) nounwind {25entry:26  %0 = load i8, ptr %a, align 127  %1 = zext i8 %0 to i6428  %add.ptr = getelementptr inbounds i8, ptr %a, i32 129  %2 = load i8, ptr %add.ptr, align 130  %3 = zext i8 %2 to i6431  %4 = shl nuw nsw i64 %3, 832  %ins = or i64 %4, %133  tail call void @bar(i64 %ins) nounwind34  ret void35}36