brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.9 KiB · 63f9fa8 Raw
72 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 22; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu | FileCheck %s3 4define i32 @test_scalar(i32 %x) {5; CHECK-LABEL: test_scalar:6; CHECK:       # %bb.0:7; CHECK-NEXT:    # kill: def $edi killed $edi def $rdi8; CHECK-NEXT:    leal (,%rdi,4), %eax9; CHECK-NEXT:    retq10  %mul = mul i32 %x, 311  %add = add i32 %mul, %x12  ret i32 %add13}14 15define i32 @test_scalar_commuted(i32 %x) {16; CHECK-LABEL: test_scalar_commuted:17; CHECK:       # %bb.0:18; CHECK-NEXT:    # kill: def $edi killed $edi def $rdi19; CHECK-NEXT:    leal (,%rdi,4), %eax20; CHECK-NEXT:    retq21  %mul = mul i32 %x, 322  %add = add i32 %x, %mul23  ret i32 %add24}25 26define <4 x i32> @test_vector(<4 x i32> %x) {27; CHECK-LABEL: test_vector:28; CHECK:       # %bb.0:29; CHECK-NEXT:    pslld $2, %xmm030; CHECK-NEXT:    retq31  %mul = mul <4 x i32> %x, <i32 3, i32 3, i32 3, i32 3>32  %add = add <4 x i32> %mul, %x33  ret <4 x i32> %add34}35 36define ptr @test_ptr(ptr %p) {37; CHECK-LABEL: test_ptr:38; CHECK:       # %bb.0:39; CHECK-NEXT:    leaq (,%rdi,4), %rax40; CHECK-NEXT:    retq41  %addr = ptrtoint ptr %p to i6442  %mul = mul i64 %addr, 343  %res = getelementptr i8, ptr %p, i64 %mul44  ret ptr %res45}46 47define i32 @test_extra_use(i32 %x, ptr %p) {48; CHECK-LABEL: test_extra_use:49; CHECK:       # %bb.0:50; CHECK-NEXT:    # kill: def $edi killed $edi def $rdi51; CHECK-NEXT:    leal (%rdi,%rdi,2), %eax52; CHECK-NEXT:    movl %eax, (%rsi)53; CHECK-NEXT:    addl %edi, %eax54; CHECK-NEXT:    retq55  %mul = mul i32 %x, 356  store i32 %mul, ptr %p57  %add = add i32 %mul, %x58  ret i32 %add59}60 61define i32 @test_different_operand(i32 %x, i32 %y) {62; CHECK-LABEL: test_different_operand:63; CHECK:       # %bb.0:64; CHECK-NEXT:    # kill: def $edi killed $edi def $rdi65; CHECK-NEXT:    leal (%rdi,%rdi,2), %eax66; CHECK-NEXT:    addl %esi, %eax67; CHECK-NEXT:    retq68  %mul = mul i32 %x, 369  %add = add i32 %mul, %y70  ret i32 %add71}72