brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 0e6b5fe Raw
52 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=x86_64-unknown-unknown < %s | FileCheck %s3 4; Verify that backwards propagation of a mask does not affect5; nodes with multiple result values. In both tests, the stored6; 32-bit value should be masked to an 8-bit number (and 255).7 8@b = dso_local local_unnamed_addr global i32 918, align 49@d = dso_local local_unnamed_addr global i32 8089, align 410@c = common dso_local local_unnamed_addr global i32 0, align 411@a = common dso_local local_unnamed_addr global i32 0, align 412 13define dso_local void @PR37667() {14; CHECK-LABEL: PR37667:15; CHECK:       # %bb.0:16; CHECK-NEXT:    movl b(%rip), %eax17; CHECK-NEXT:    xorl %edx, %edx18; CHECK-NEXT:    divl d(%rip)19; CHECK-NEXT:    orl c(%rip), %edx20; CHECK-NEXT:    movzbl %dl, %eax21; CHECK-NEXT:    movl %eax, a(%rip)22; CHECK-NEXT:    retq23  %t0 = load i32, ptr @c, align 424  %t1 = load i32, ptr @b, align 425  %t2 = load i32, ptr @d, align 426  %rem = urem i32 %t1, %t227  %or = or i32 %rem, %t028  %conv1 = and i32 %or, 25529  store i32 %conv1, ptr @a, align 430  ret void31}32 33define dso_local void @PR37060() {34; CHECK-LABEL: PR37060:35; CHECK:       # %bb.0:36; CHECK-NEXT:    movl $-1, %eax37; CHECK-NEXT:    cltd38; CHECK-NEXT:    idivl c(%rip)39; CHECK-NEXT:    xorl b(%rip), %edx40; CHECK-NEXT:    movzbl %dl, %eax41; CHECK-NEXT:    movl %eax, a(%rip)42; CHECK-NEXT:    retq43  %t0 = load i32, ptr @c, align 444  %rem = srem i32 -1, %t045  %t2 = load i32, ptr @b, align 446  %xor = xor i32 %t2, %rem47  %conv3 = and i32 %xor, 25548  store i32 %conv3, ptr @a, align 449  ret void50}51 52