llvm-project/llvm/test/CodeGen/SPARC/LeonItinerariesUT.ll
Fangrui Song 728490257e [Sparc,test] Change llc -march= to -mtriple=
Similar to 806761a7629df268c8aed49657aeccffa6bca449

-mtriple= specifies the full target triple while -march= merely sets the
architecture part of the default target triple (e.g. Windows, macOS),
leaving a target triple which may not make sense.

Therefore, -march= is error-prone and not recommended for tests without a target
triple. The issue has been benign as we recognize sparc*-apple-darwin as ELF instead
of rejecting it outrightly.
2024-12-15 10:29:34 -08:00

51 lines
1.4 KiB
LLVM

; RUN: llc < %s -O1 -mtriple=sparc | FileCheck %s -check-prefix=NO_ITIN
; RUN: llc < %s -O1 -mtriple=sparc -mcpu=leon2 | FileCheck %s -check-prefix=LEON2_ITIN
; RUN: llc < %s -O1 -mtriple=sparc -mcpu=leon3 | FileCheck %s -check-prefix=LEON3_4_ITIN
; RUN: llc < %s -O1 -mtriple=sparc -mcpu=leon4 | FileCheck %s -check-prefix=LEON3_4_ITIN
; NO_ITIN-LABEL: f32_ops:
; NO_ITIN: ld
; NO_ITIN-NEXT: ld
; NO_ITIN-NEXT: ld
; NO_ITIN-NEXT: ld
; NO_ITIN-NEXT: fadds
; NO_ITIN-NEXT: fsubs
; NO_ITIN-NEXT: fmuls
; NO_ITIN-NEXT: retl
; NO_ITIN-NEXT: fdivs
; LEON2_ITIN-LABEL: f32_ops:
; LEON2_ITIN: ld
; LEON2_ITIN-NEXT: ld
; LEON2_ITIN-NEXT: fadds
; LEON2_ITIN-NEXT: ld
; LEON2_ITIN-NEXT: fsubs
; LEON2_ITIN-NEXT: ld
; LEON2_ITIN-NEXT: fmuls
; LEON2_ITIN-NEXT: retl
; LEON2_ITIN-NEXT: fdivs
; LEON3_4_ITIN-LABEL: f32_ops:
; LEON3_4_ITIN: ld
; LEON3_4_ITIN-NEXT: ld
; LEON3_4_ITIN-NEXT: ld
; LEON3_4_ITIN-NEXT: fadds
; LEON3_4_ITIN-NEXT: ld
; LEON3_4_ITIN-NEXT: fsubs
; LEON3_4_ITIN-NEXT: fmuls
; LEON3_4_ITIN-NEXT: retl
; LEON3_4_ITIN-NEXT: fdivs
define float @f32_ops(ptr byval(float) %a, ptr byval(float) %b, ptr byval(float) %c, ptr byval(float) %d) {
entry:
%0 = load float, ptr %a, align 8
%1 = load float, ptr %b, align 8
%2 = load float, ptr %c, align 8
%3 = load float, ptr %d, align 8
%4 = fadd float %0, %1
%5 = fsub float %4, %2
%6 = fmul float %5, %3
%7 = fdiv float %6, %4
ret float %7
}