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