1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 3 2; RUN: llc --mtriple=loongarch32 -mattr=+d -verify-machineinstrs < %s \ 3; RUN: | FileCheck %s --check-prefix=LA32 4; RUN: llc --mtriple=loongarch64 -mattr=+d -verify-machineinstrs < %s \ 5; RUN: | FileCheck %s --check-prefix=LA64 6 7define zeroext i8 @test_zext_i8(ptr %p) nounwind { 8; LA32-LABEL: test_zext_i8: 9; LA32: # %bb.0: 10; LA32-NEXT: ld.bu $a0, $a0, 0 11; LA32-NEXT: ret 12; 13; LA64-LABEL: test_zext_i8: 14; LA64: # %bb.0: 15; LA64-NEXT: ld.bu $a0, $a0, 0 16; LA64-NEXT: ret 17 %a = load i8, ptr %p, align 1 18 br label %exit 19exit: 20 ret i8 %a 21} 22 23define zeroext i16 @test_zext_i16(ptr %p) nounwind { 24; LA32-LABEL: test_zext_i16: 25; LA32: # %bb.0: 26; LA32-NEXT: ld.bu $a1, $a0, 1 27; LA32-NEXT: ld.bu $a0, $a0, 0 28; LA32-NEXT: slli.w $a1, $a1, 8 29; LA32-NEXT: or $a0, $a1, $a0 30; LA32-NEXT: ret 31; 32; LA64-LABEL: test_zext_i16: 33; LA64: # %bb.0: 34; LA64-NEXT: ld.hu $a0, $a0, 0 35; LA64-NEXT: ret 36 %a = load i16, ptr %p, align 1 37 br label %exit 38exit: 39 ret i16 %a 40} 41