diff options
author | Daniel Sanders <daniel.sanders@imgtec.com> | 2014-03-27 13:52:53 +0000 |
---|---|---|
committer | Daniel Sanders <daniel.sanders@imgtec.com> | 2014-03-27 13:52:53 +0000 |
commit | 743cf745309da49f1540f698f97eecc78126b5a3 (patch) | |
tree | c913213535a8e563d27f890ccacae18fbffb122b /test/MC/Mips/cpsetup.s | |
parent | 38899fc4dae3ca02777dc27f23ee5b313a68b209 (diff) |
[mips] Add support for .cpsetup
Summary:
Patch by Robert N. M. Watson
His work was sponsored by: DARPA, AFRL
Small corrections by myself.
CC: theraven, matheusalmeida
Differential Revision: http://llvm-reviews.chandlerc.com/D3199
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204924 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC/Mips/cpsetup.s')
-rw-r--r-- | test/MC/Mips/cpsetup.s | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/test/MC/Mips/cpsetup.s b/test/MC/Mips/cpsetup.s new file mode 100644 index 000000000000..dbdcaab4ae3b --- /dev/null +++ b/test/MC/Mips/cpsetup.s @@ -0,0 +1,36 @@ +# RUN: llvm-mc -triple mips64-unknown-unknown -mattr=-n64,+o32 %s | \ +# RUN: FileCheck -check-prefix=ANY -check-prefix=O32 %s +# RUN: llvm-mc -triple mips64-unknown-unknown -mattr=-n64,+n32 %s | \ +# RUN: FileCheck -check-prefix=ANY -check-prefix=NXX -check-prefix=N32 %s +# RUN: llvm-mc -triple mips64-unknown-unknown %s | \ +# RUN: FileCheck -check-prefix=ANY -check-prefix=NXX -check-prefix=N64 %s + +# TODO: !PIC -> no output + + .text + .option pic2 +t1: + .cpsetup $25, 8, __cerror + +# ANY-LABEL: t1: + +# O32-NOT: __cerror + +# NXX: sd $gp, 8($sp) +# NXX: lui $gp, %hi(%neg(%gp_rel(__cerror))) +# NXX: addiu $gp, $gp, %lo(%neg(%gp_rel(__cerror))) +# N32: addu $gp, $gp, $25 +# N64: daddu $gp, $gp, $25 + +t2: +# ANY-LABEL: t2: + + .cpsetup $25, $2, __cerror + +# O32-NOT: __cerror + +# NXX: move $2, $gp +# NXX: lui $gp, %hi(%neg(%gp_rel(__cerror))) +# NXX: addiu $gp, $gp, %lo(%neg(%gp_rel(__cerror))) +# N32: addu $gp, $gp, $25 +# N64: daddu $gp, $gp, $25 |