brintos

brintos / llvm-project-archived public Read only

0
0
Text · 775 B · 199fa55 Raw
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