This repository has been archived by the owner on Jan 1, 2023. It is now read-only.
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
[mips] Emit two CFI offset directives per double precision SDC1/LDC1
instead of just one for FR=1 registers Differential Revision: http://reviews.llvm.org/D4310 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212769 91177308-0d34-0410-b5e6-96231b3b80d8
- Loading branch information
Zoran Jovanovic
committed
Jul 10, 2014
1 parent
833b7db
commit 5fcea4a
Showing
4 changed files
with
75 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
; RUN: llc -march=mips -mattr=+o32 < %s | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-EB | ||
; RUN: llc -march=mipsel -mattr=+o32 < %s | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-EL | ||
; RUN: llc -march=mips -mattr=+o32,+fpxx < %s | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-EB | ||
; RUN: llc -march=mipsel -mattr=+o32,+fpxx < %s | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-EL | ||
; RUN: llc -march=mips -mattr=+o32,+fp64 < %s | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-EB | ||
; RUN: llc -march=mipsel -mattr=+o32,+fp64 < %s | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-EL | ||
|
||
@var = global double 0.0 | ||
|
||
declare void @foo(...) | ||
|
||
define void @bar() { | ||
|
||
; CHECK-LABEL: bar: | ||
|
||
; CHECK: .cfi_def_cfa_offset 40 | ||
; CHECK: sdc1 $f22, 32($sp) | ||
; CHECK: sdc1 $f20, 24($sp) | ||
; CHECK: sw $ra, 20($sp) | ||
; CHECK: sw $16, 16($sp) | ||
|
||
; CHECK-EB: .cfi_offset 55, -8 | ||
; CHECK-EB: .cfi_offset 54, -4 | ||
; CHECK-EB: .cfi_offset 53, -16 | ||
; CHECK-EB: .cfi_offset 52, -12 | ||
|
||
; CHECK-EL: .cfi_offset 54, -8 | ||
; CHECK-EL: .cfi_offset 55, -4 | ||
; CHECK-EL: .cfi_offset 52, -16 | ||
; CHECK-EL: .cfi_offset 53, -12 | ||
|
||
; CHECK: .cfi_offset 31, -20 | ||
; CHECK: .cfi_offset 16, -24 | ||
|
||
%val1 = load volatile double* @var | ||
%val2 = load volatile double* @var | ||
call void (...)* @foo() nounwind | ||
store volatile double %val1, double* @var | ||
store volatile double %val2, double* @var | ||
ret void | ||
} |