[Reland][Runtimes] Merge 'compile_commands.json' files from runtimes build (#116303)
[llvm-project.git] / llvm / test / CodeGen / PowerPC / builtins-ppc-xlcompat-multiply-64bit-only.ll
blobbaca980009ec0825bcf0520e183c5629d0b8a3cc
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu \
3 ; RUN:   -mcpu=pwr9 < %s | FileCheck %s
4 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu \
5 ; RUN:   -mcpu=pwr9 < %s | FileCheck %s
6 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-aix \
7 ; RUN:   -mcpu=pwr9 < %s | FileCheck %s
9 define dso_local i64 @test_builtin_ppc_mulhd(i64 %a, i64 %b) {
10 ; CHECK-LABEL: test_builtin_ppc_mulhd:
11 ; CHECK:       # %bb.0: # %entry
12 ; CHECK-NEXT:    mulhd 3, 3, 4
13 ; CHECK-NEXT:    blr
14 entry:
15   %0 = call i64 @llvm.ppc.mulhd(i64 %a, i64 %b)
16   ret i64 %0
19 declare i64 @llvm.ppc.mulhd(i64, i64)
21 define dso_local i64 @test_builtin_ppc_mulhdu(i64 %a, i64 %b) {
22 ; CHECK-LABEL: test_builtin_ppc_mulhdu:
23 ; CHECK:       # %bb.0: # %entry
24 ; CHECK-NEXT:    mulhdu 3, 3, 4
25 ; CHECK-NEXT:    blr
26 entry:
27   %0 = call i64 @llvm.ppc.mulhdu(i64 %a, i64 %b)
28   ret i64 %0
31 declare i64 @llvm.ppc.mulhdu(i64, i64)
33 define dso_local i64 @test_builtin_ppc_maddhd(i64 %a, i64 %b, i64 %c) {
34 ; CHECK-LABEL: test_builtin_ppc_maddhd:
35 ; CHECK:       # %bb.0: # %entry
36 ; CHECK-NEXT:    maddhd 3, 3, 4, 5
37 ; CHECK-NEXT:    blr
38 entry:
39   %0 = call i64 @llvm.ppc.maddhd(i64 %a, i64 %b, i64 %c)
40   ret i64 %0
43 declare i64 @llvm.ppc.maddhd(i64, i64, i64)
45 define dso_local i64 @test_builtin_ppc_maddhdu(i64 %a, i64 %b, i64 %c) {
46 ; CHECK-LABEL: test_builtin_ppc_maddhdu:
47 ; CHECK:       # %bb.0: # %entry
48 ; CHECK-NEXT:    maddhdu 3, 3, 4, 5
49 ; CHECK-NEXT:    blr
50 entry:
51   %0 = call i64 @llvm.ppc.maddhdu(i64 %a, i64 %b, i64 %c)
52   ret i64 %0
55 declare i64 @llvm.ppc.maddhdu(i64, i64, i64)
57 define dso_local i64 @test_builtin_ppc_maddld(i64 %a, i64 %b, i64 %c) {
58 ; CHECK-LABEL: test_builtin_ppc_maddld:
59 ; CHECK:       # %bb.0: # %entry
60 ; CHECK-NEXT:    maddld 3, 3, 4, 5
61 ; CHECK-NEXT:    blr
62 entry:
63   %0 = call i64 @llvm.ppc.maddld(i64 %a, i64 %b, i64 %c)
64   ret i64 %0
67 declare i64 @llvm.ppc.maddld(i64, i64, i64)