brintos

brintos / llvm-project-archived public Read only

0
0
Text · 842 B · bc135f6 Raw
30 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=i686-unknown -mattr=+bmi2 | FileCheck %s3; RUN: llc < %s -mtriple=i686-unknown -mcpu=core-avx2 | FileCheck %s4 5define i64 @f1(i32 %a, i32 %b) {6; CHECK-LABEL: f1:7; CHECK:       # %bb.0:8; CHECK-NEXT:    movl {{[0-9]+}}(%esp), %edx9; CHECK-NEXT:    mulxl {{[0-9]+}}(%esp), %eax, %edx10; CHECK-NEXT:    retl11  %x = zext i32 %a to i6412  %y = zext i32 %b to i6413  %r = mul i64 %x, %y14  ret i64 %r15}16 17define i64 @f2(i32 %a, ptr %p) {18; CHECK-LABEL: f2:19; CHECK:       # %bb.0:20; CHECK-NEXT:    movl {{[0-9]+}}(%esp), %edx21; CHECK-NEXT:    movl {{[0-9]+}}(%esp), %eax22; CHECK-NEXT:    mulxl (%eax), %eax, %edx23; CHECK-NEXT:    retl24  %b = load i32, ptr %p25  %x = zext i32 %a to i6426  %y = zext i32 %b to i6427  %r = mul i64 %x, %y28  ret i64 %r29}30