1*d3c10b51SPeter Lafreniere; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2 2*d3c10b51SPeter Lafreniere; RUN: llc < %s -mtriple=m68k-linux -verify-machineinstrs | FileCheck %s 3*d3c10b51SPeter Lafreniere 4*d3c10b51SPeter Lafreniere@0 = external constant <{ [32 x i8] }> 5*d3c10b51SPeter Lafreniere 6*d3c10b51SPeter Lafrenieredefine i32 @"test_zext_pcd_i8_to_i32"() { 7*d3c10b51SPeter Lafreniere; CHECK-LABEL: test_zext_pcd_i8_to_i32: 8*d3c10b51SPeter Lafreniere; CHECK: .cfi_startproc 9*d3c10b51SPeter Lafreniere; CHECK-NEXT: ; %bb.0: 10*d3c10b51SPeter Lafreniere; CHECK-NEXT: move.b (__unnamed_1+16,%pc), %d0 11*d3c10b51SPeter Lafreniere; CHECK-NEXT: and.l #255, %d0 12*d3c10b51SPeter Lafreniere; CHECK-NEXT: rts 13*d3c10b51SPeter Lafreniere %p = getelementptr inbounds i8, ptr @0, i32 16 14*d3c10b51SPeter Lafreniere %val = load i8, ptr %p 15*d3c10b51SPeter Lafreniere %val2 = zext i8 %val to i32 16*d3c10b51SPeter Lafreniere ret i32 %val2 17*d3c10b51SPeter Lafreniere} 18*d3c10b51SPeter Lafreniere 19*d3c10b51SPeter Lafrenieredefine i16 @"test_zext_pcd_i8_to_i16"() { 20*d3c10b51SPeter Lafreniere; CHECK-LABEL: test_zext_pcd_i8_to_i16: 21*d3c10b51SPeter Lafreniere; CHECK: .cfi_startproc 22*d3c10b51SPeter Lafreniere; CHECK-NEXT: ; %bb.0: 23*d3c10b51SPeter Lafreniere; CHECK-NEXT: move.b (__unnamed_1+16,%pc), %d0 24*d3c10b51SPeter Lafreniere; CHECK-NEXT: and.w #255, %d0 25*d3c10b51SPeter Lafreniere; CHECK-NEXT: rts 26*d3c10b51SPeter Lafreniere %p = getelementptr inbounds i8, ptr @0, i32 16 27*d3c10b51SPeter Lafreniere %val = load i8, ptr %p 28*d3c10b51SPeter Lafreniere %val2 = zext i8 %val to i16 29*d3c10b51SPeter Lafreniere ret i16 %val2 30*d3c10b51SPeter Lafreniere} 31*d3c10b51SPeter Lafreniere 32*d3c10b51SPeter Lafrenieredefine i32 @"test_zext_pcd_i16_to_i32"() { 33*d3c10b51SPeter Lafreniere; CHECK-LABEL: test_zext_pcd_i16_to_i32: 34*d3c10b51SPeter Lafreniere; CHECK: .cfi_startproc 35*d3c10b51SPeter Lafreniere; CHECK-NEXT: ; %bb.0: 36*d3c10b51SPeter Lafreniere; CHECK-NEXT: move.w (__unnamed_1+16,%pc), %d0 37*d3c10b51SPeter Lafreniere; CHECK-NEXT: and.l #65535, %d0 38*d3c10b51SPeter Lafreniere; CHECK-NEXT: rts 39*d3c10b51SPeter Lafreniere %p = getelementptr inbounds i16, ptr @0, i32 8 40*d3c10b51SPeter Lafreniere %val = load i16, ptr %p 41*d3c10b51SPeter Lafreniere %val2 = zext i16 %val to i32 42*d3c10b51SPeter Lafreniere ret i32 %val2 43*d3c10b51SPeter Lafreniere} 44