1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2; RUN: llc -mtriple=powerpc64-unknown-linux-gnu -o - %s | FileCheck --check-prefix=BE %s 3; RUN: llc -mtriple=powerpc64-ibm-aix-xcoff -o - %s | FileCheck --check-prefix=BE %s 4; RUN: llc -mtriple=powerpc64le-unknown-linux-gnu -o - %s | FileCheck --check-prefix=LE %s 5 6define void @fold_constant_stores_loaddr(i8* %i8_ptr) { 7; BE-LABEL: fold_constant_stores_loaddr: 8; BE: # %bb.0: # %entry 9; BE-NEXT: li 4, 0 10; BE-NEXT: std 4, 0(3) 11; BE-NEXT: li 4, -86 12; BE-NEXT: stb 4, 0(3) 13; BE-NEXT: blr 14; 15; LE-LABEL: fold_constant_stores_loaddr: 16; LE: # %bb.0: # %entry 17; LE-NEXT: li 4, 0 18; LE-NEXT: li 5, -86 19; LE-NEXT: std 4, 0(3) 20; LE-NEXT: stb 5, 0(3) 21; LE-NEXT: blr 22entry: 23 %i64_ptr = bitcast i8* %i8_ptr to i64* 24 store i64 0, i64* %i64_ptr, align 8 25 store i8 170, i8* %i8_ptr, align 1 26 ret void 27} 28 29 30define void @fold_constant_stores_hiaddr(i8* %i8_ptr) { 31; BE-LABEL: fold_constant_stores_hiaddr: 32; BE: # %bb.0: # %entry 33; BE-NEXT: li 4, 0 34; BE-NEXT: std 4, 0(3) 35; BE-NEXT: li 4, -86 36; BE-NEXT: stb 4, 0(3) 37; BE-NEXT: blr 38; 39; LE-LABEL: fold_constant_stores_hiaddr: 40; LE: # %bb.0: # %entry 41; LE-NEXT: li 4, 0 42; LE-NEXT: li 5, -86 43; LE-NEXT: std 4, 0(3) 44; LE-NEXT: stb 5, 0(3) 45; LE-NEXT: blr 46entry: 47 %i64_ptr = bitcast i8* %i8_ptr to i64* 48 store i64 0, i64* %i64_ptr, align 8 49 %i8_ptr2 = getelementptr inbounds i8, i8* %i8_ptr, i64 7 50 store i8 170, i8* %i8_ptr, align 1 51 ret void 52} 53