brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · e01f56d Raw
35 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=i686-- -x86-asm-syntax=intel | FileCheck %s3 4; PR6875 6define i64 @foo(i64 %x, ptr %X) {7; CHECK-LABEL: foo:8; CHECK:       # %bb.0:9; CHECK-NEXT:    push esi10; CHECK-NEXT:    .cfi_def_cfa_offset 811; CHECK-NEXT:    .cfi_offset esi, -812; CHECK-NEXT:    mov esi, dword ptr [esp + 8]13; CHECK-NEXT:    mov edx, dword ptr [esp + 12]14; CHECK-NEXT:    mov eax, dword ptr [esp + 16]15; CHECK-NEXT:    movzx ecx, byte ptr [eax]16; CHECK-NEXT:    mov eax, esi17; CHECK-NEXT:    shl eax, cl18; CHECK-NEXT:    shld edx, esi, cl19; CHECK-NEXT:    test cl, 3220; CHECK-NEXT:    je .LBB0_221; CHECK-NEXT:  # %bb.1:22; CHECK-NEXT:    mov edx, eax23; CHECK-NEXT:    xor eax, eax24; CHECK-NEXT:  .LBB0_2:25; CHECK-NEXT:    pop esi26; CHECK-NEXT:    .cfi_def_cfa_offset 427; CHECK-NEXT:    ret28        %tmp.1 = load i64, ptr %X           ; <i64> [#uses=1]29        %tmp.3 = trunc i64 %tmp.1 to i8         ; <i8> [#uses=1]30        %shift.upgrd.1 = zext i8 %tmp.3 to i64          ; <i64> [#uses=1]31        %tmp.4 = shl i64 %x, %shift.upgrd.1             ; <i64> [#uses=1]32        ret i64 %tmp.433}34 35