brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.3 KiB · ae2739d Raw
83 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt < %s -passes=sccp -S | FileCheck %s3 4define void @shift_undef_64(ptr %p) {5; CHECK-LABEL: @shift_undef_64(6; CHECK-NEXT:    store i64 0, ptr [[P:%.*]], align 47; CHECK-NEXT:    store i64 -1, ptr [[P]], align 48; CHECK-NEXT:    [[R3:%.*]] = shl nuw nsw i64 -1, 42949672989; CHECK-NEXT:    store i64 [[R3]], ptr [[P]], align 410; CHECK-NEXT:    ret void11;12  %r1 = lshr i64 -1, 4294967296 ; 2^3213  store i64 %r1, ptr %p14 15  %r2 = ashr i64 -1, 4294967297 ; 2^32 + 116  store i64 %r2, ptr %p17 18  %r3 = shl i64 -1, 4294967298 ; 2^32 + 219  store i64 %r3, ptr %p20 21  ret void22}23 24define void @shift_undef_65(ptr %p) {25; CHECK-LABEL: @shift_undef_65(26; CHECK-NEXT:    store i65 0, ptr [[P:%.*]], align 427; CHECK-NEXT:    store i65 0, ptr [[P]], align 428; CHECK-NEXT:    [[R3:%.*]] = shl nuw nsw i65 1, -1844674407370955161529; CHECK-NEXT:    store i65 [[R3]], ptr [[P]], align 430; CHECK-NEXT:    ret void31;32  %r1 = lshr i65 2, 1844674407370955161733  store i65 %r1, ptr %p34 35  %r2 = ashr i65 4, 1844674407370955161736  store i65 %r2, ptr %p37 38  %r3 = shl i65 1, 1844674407370955161739  store i65 %r3, ptr %p40 41  ret void42}43 44define void @shift_undef_256(ptr %p) {45; CHECK-LABEL: @shift_undef_256(46; CHECK-NEXT:    store i256 0, ptr [[P:%.*]], align 447; CHECK-NEXT:    store i256 0, ptr [[P]], align 448; CHECK-NEXT:    [[R3:%.*]] = shl nuw nsw i256 1, 1844674407370955161949; CHECK-NEXT:    store i256 [[R3]], ptr [[P]], align 450; CHECK-NEXT:    ret void51;52  %r1 = lshr i256 2, 1844674407370955161753  store i256 %r1, ptr %p54 55  %r2 = ashr i256 4, 1844674407370955161856  store i256 %r2, ptr %p57 58  %r3 = shl i256 1, 1844674407370955161959  store i256 %r3, ptr %p60 61  ret void62}63 64define void @shift_undef_511(ptr %p) {65; CHECK-LABEL: @shift_undef_511(66; CHECK-NEXT:    store i511 0, ptr [[P:%.*]], align 467; CHECK-NEXT:    store i511 -1, ptr [[P]], align 468; CHECK-NEXT:    [[R3:%.*]] = shl nuw nsw i511 -3, 120892581961462917470618069; CHECK-NEXT:    store i511 [[R3]], ptr [[P]], align 470; CHECK-NEXT:    ret void71;72  %r1 = lshr i511 -1, 1208925819614629174706276 ; 2^80 + 10073  store i511 %r1, ptr %p74 75  %r2 = ashr i511 -2, 120892581961462917470620076  store i511 %r2, ptr %p77 78  %r3 = shl i511 -3, 120892581961462917470618079  store i511 %r3, ptr %p80 81  ret void82}83