OSDN Git Service

[mips][ias] Fix O32 .cprestore directive when inside .set noat region and offset...
authorDaniel Sanders <daniel.sanders@imgtec.com>
Thu, 12 May 2016 14:01:50 +0000 (14:01 +0000)
committerDaniel Sanders <daniel.sanders@imgtec.com>
Thu, 12 May 2016 14:01:50 +0000 (14:01 +0000)
commit100018952c88c37a8d4b2dafa368619b3ee45a62
tree930ce609472be92e33211745105be756c49af588
parentd89f32c83dfe7c3c8c8a1d1d1960c87e8c2851b5
[mips][ias] Fix O32 .cprestore directive when inside .set noat region and offset is in range.

Summary:
This expands on r269179 to fix an additional case that was not covered by our
tests. The assembler temporary is not needed when the .cprestore offset fits
inside a simm16 and it is not an error to use it inside a '.set noat' in this
case.

Reviewers: emaste, seanbruno, sdardis

Subscribers: dsanders, sdardis, llvm-commits

Differential Revision: http://reviews.llvm.org/D20199

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269295 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/Mips/AsmParser/MipsAsmParser.cpp
lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
lib/Target/Mips/MipsTargetStreamer.h
test/MC/Mips/cprestore-noreorder-noat.s