llvm-6502/lib/Target/Mips
Daniel Sanders e777fb4725 Re-commit: [mips] abs.[ds], and neg.[ds] should be allowed regardless of -enable-no-nans-fp-math
Summary:
They behave in accordance with the Has2008 and ABS2008 configuration bits of the processor which are used to select between the 1985 and 2008 versions of IEEE 754. In 1985 mode, these instructions are arithmetic (i.e. they raise invalid operation exceptions when given NaN), in 2008 mode they are non-arithmetic (i.e. they are copies).

nmadd.[ds], and nmsub.[ds] are still subject to -enable-no-nans-fp-math because the ISA spec does not explicitly state that they obey Has2008 and ABS2008.

Fixed the issue with the previous version of this patch (r205628). A pre-existing 'let Predicate =' statement was removing some predicates that were necessary for FP64 to behave correctly.

Reviewers: matheusalmeida

Reviewed By: matheusalmeida

Differential Revision: http://llvm-reviews.chandlerc.com/D3274



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205844 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-09 09:56:43 +00:00
..
AsmParser MIPS: remove vim swap file 2014-04-04 01:19:54 +00:00
Disassembler [mips] Rewrite MipsAsmParser and MipsOperand. 2014-04-01 10:35:28 +00:00
InstPrinter Revert r205194 - [mips] Removed R_MIPS_GOT. It's identical to R_MIPS_GOT16. 2014-03-31 14:34:36 +00:00
MCTargetDesc [mips] Add initial (experimental) MIPS-IV support. 2014-04-03 12:13:36 +00:00
TargetInfo
CMakeLists.txt
LLVMBuild.txt
Makefile
MicroMipsInstrFormats.td Implementation of 16-bit microMIPS instructions MFHI and MFLO. 2014-04-03 12:47:34 +00:00
MicroMipsInstrFPU.td
MicroMipsInstrInfo.td Implementation of 16-bit microMIPS instructions MFHI and MFLO. 2014-04-03 12:47:34 +00:00
Mips16FrameLowering.cpp
Mips16FrameLowering.h
Mips16HardFloat.cpp
Mips16HardFloat.h
Mips16HardFloatInfo.cpp
Mips16HardFloatInfo.h
Mips16InstrFormats.td
Mips16InstrInfo.cpp
Mips16InstrInfo.h
Mips16InstrInfo.td
Mips16ISelDAGToDAG.cpp
Mips16ISelDAGToDAG.h
Mips16ISelLowering.cpp
Mips16ISelLowering.h
Mips16RegisterInfo.cpp Replace '#include ValueTypes.h' with forward declarations. 2014-03-12 08:00:24 +00:00
Mips16RegisterInfo.h
Mips64InstrInfo.td [mips] Add Octeon cnMips instructions seqi/snei and v3mulu/vmm0/vmulu. 2014-04-04 16:21:59 +00:00
Mips.h
Mips.td [mips] Add initial (experimental) MIPS-IV support. 2014-04-03 12:13:36 +00:00
MipsAnalyzeImmediate.cpp
MipsAnalyzeImmediate.h
MipsAsmPrinter.cpp
MipsAsmPrinter.h
MipsCallingConv.td
MipsCodeEmitter.cpp remove a bunch of unused private methods 2014-03-23 17:09:26 +00:00
MipsCondMov.td
MipsConstantIslandPass.cpp remove a bunch of unused private methods 2014-03-23 17:09:26 +00:00
MipsDelaySlotFiller.cpp [mips] Implement NaCl sandboxing of loads, stores and SP changes: 2014-03-10 20:34:23 +00:00
MipsDSPInstrFormats.td
MipsDSPInstrInfo.td
MipsFrameLowering.cpp Make consistent use of MCPhysReg instead of uint16_t throughout the tree. 2014-04-04 05:16:06 +00:00
MipsFrameLowering.h
MipsInstrFormats.td [mips] Add Octeon cnMips instructions seqi/snei and v3mulu/vmm0/vmulu. 2014-04-04 16:21:59 +00:00
MipsInstrFPU.td Re-commit: [mips] abs.[ds], and neg.[ds] should be allowed regardless of -enable-no-nans-fp-math 2014-04-09 09:56:43 +00:00
MipsInstrInfo.cpp
MipsInstrInfo.h
MipsInstrInfo.td Re-commit: [mips] abs.[ds], and neg.[ds] should be allowed regardless of -enable-no-nans-fp-math 2014-04-09 09:56:43 +00:00
MipsISelDAGToDAG.cpp
MipsISelDAGToDAG.h
MipsISelLowering.cpp Re-commit: [mips] abs.[ds], and neg.[ds] should be allowed regardless of -enable-no-nans-fp-math 2014-04-09 09:56:43 +00:00
MipsISelLowering.h Make consistent use of MCPhysReg instead of uint16_t throughout the tree. 2014-04-04 05:16:06 +00:00
MipsJITInfo.cpp
MipsJITInfo.h
MipsLongBranch.cpp
MipsMachineFunction.cpp
MipsMachineFunction.h
MipsMCInstLower.cpp
MipsMCInstLower.h
MipsModuleISelDAGToDAG.cpp
MipsModuleISelDAGToDAG.h
MipsMSAInstrFormats.td
MipsMSAInstrInfo.td [mips] Rewrite MipsAsmParser and MipsOperand. 2014-04-01 10:35:28 +00:00
MipsOptimizePICCall.cpp
MipsOs16.cpp
MipsOs16.h
MipsRegisterInfo.cpp Make consistent use of MCPhysReg instead of uint16_t throughout the tree. 2014-04-04 05:16:06 +00:00
MipsRegisterInfo.h Make consistent use of MCPhysReg instead of uint16_t throughout the tree. 2014-04-04 05:16:06 +00:00
MipsRegisterInfo.td [mips] Rewrite MipsAsmParser and MipsOperand. 2014-04-01 10:35:28 +00:00
MipsRelocations.h
MipsSchedule.td [mips] Implement shorthand add / sub forms for MIPS. 2014-03-24 14:05:39 +00:00
MipsSEFrameLowering.cpp
MipsSEFrameLowering.h
MipsSEInstrInfo.cpp Implementation of 16-bit microMIPS instructions MFHI and MFLO. 2014-04-03 12:47:34 +00:00
MipsSEInstrInfo.h
MipsSEISelDAGToDAG.cpp [mips] Some uses of isMips64()/hasMips64() are really tests for 64-bit GPR's 2014-03-27 16:42:17 +00:00
MipsSEISelDAGToDAG.h
MipsSEISelLowering.cpp [mips] Rewrite MipsAsmParser and MipsOperand. 2014-04-01 10:35:28 +00:00
MipsSEISelLowering.h
MipsSelectionDAGInfo.cpp
MipsSelectionDAGInfo.h
MipsSERegisterInfo.cpp Replace '#include ValueTypes.h' with forward declarations. 2014-03-12 08:00:24 +00:00
MipsSERegisterInfo.h
MipsSubtarget.cpp [mips] Some uses of isMips64()/hasMips64() are really tests for 64-bit GPR's 2014-03-27 16:42:17 +00:00
MipsSubtarget.h [mips] Add initial (experimental) MIPS-IV support. 2014-04-03 12:13:36 +00:00
MipsTargetMachine.cpp Fix regression with -O0 for mips . 2014-03-10 16:31:25 +00:00
MipsTargetMachine.h
MipsTargetObjectFile.cpp
MipsTargetObjectFile.h
MipsTargetStreamer.h [mips] Add support to '.set mips64'. 2014-03-26 15:14:32 +00:00
MSA.txt [mips] BSEL's and BINS[RL] operands are reversed compared to the vselect node used in the pattern. 2014-03-12 11:54:00 +00:00