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