29 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+bmi2 | FileCheck %s3; RUN: llc < %s -mtriple=x86_64-unknown -mcpu=core-avx2 | FileCheck %s4 5define i128 @f1(i64 %a, i64 %b) {6; CHECK-LABEL: f1:7; CHECK: # %bb.0:8; CHECK-NEXT: movq %rdi, %rdx9; CHECK-NEXT: mulxq %rsi, %rax, %rdx10; CHECK-NEXT: retq11 %x = zext i64 %a to i12812 %y = zext i64 %b to i12813 %r = mul i128 %x, %y14 ret i128 %r15}16 17define i128 @f2(i64 %a, ptr %p) {18; CHECK-LABEL: f2:19; CHECK: # %bb.0:20; CHECK-NEXT: movq %rdi, %rdx21; CHECK-NEXT: mulxq (%rsi), %rax, %rdx22; CHECK-NEXT: retq23 %b = load i64, ptr %p24 %x = zext i64 %a to i12825 %y = zext i64 %b to i12826 %r = mul i128 %x, %y27 ret i128 %r28}29