xref: /llvm-project/llvm/test/CodeGen/AArch64/arm64-reg-copy-noneon.ll (revision b71434f8b33b6538554a092155c7e8477b2899e1)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
2; RUN: llc -mtriple=arm64-none-linux-gnu -mattr=-neon < %s | FileCheck %s
3
4define float @copy_FPR32(float %a, float %b) {
5; CHECK-LABEL: copy_FPR32:
6; CHECK:       // %bb.0:
7; CHECK-NEXT:    fmov s0, s1
8; CHECK-NEXT:    ret
9  ret float %b;
10}
11
12define double @copy_FPR64(double %a, double %b) {
13; CHECK-LABEL: copy_FPR64:
14; CHECK:       // %bb.0:
15; CHECK-NEXT:    fmov d0, d1
16; CHECK-NEXT:    ret
17  ret double %b;
18}
19
20define fp128 @copy_FPR128(fp128 %a, fp128 %b) {
21; CHECK-LABEL: copy_FPR128:
22; CHECK:       // %bb.0:
23; CHECK-NEXT:    str q1, [sp, #-16]!
24; CHECK-NEXT:    ldr q0, [sp], #16
25; CHECK-NEXT:    ret
26  ret fp128 %b;
27}
28