mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-04 05:17:07 +00:00 
			
		
		
		
	[ARM64] SCVTF and FCVTZS/U are undefined if scale<5> == 0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205882 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
		@@ -82,9 +82,12 @@ static DecodeStatus DecodeDDDDRegisterClass(llvm::MCInst &Inst, unsigned RegNo,
 | 
			
		||||
                                            uint64_t Address,
 | 
			
		||||
                                            const void *Decoder);
 | 
			
		||||
 | 
			
		||||
static DecodeStatus DecodeFixedPointScaleImm(llvm::MCInst &Inst, unsigned Imm,
 | 
			
		||||
                                             uint64_t Address,
 | 
			
		||||
                                             const void *Decoder);
 | 
			
		||||
static DecodeStatus DecodeFixedPointScaleImm32(llvm::MCInst &Inst, unsigned Imm,
 | 
			
		||||
                                               uint64_t Address,
 | 
			
		||||
                                               const void *Decoder);
 | 
			
		||||
static DecodeStatus DecodeFixedPointScaleImm64(llvm::MCInst &Inst, unsigned Imm,
 | 
			
		||||
                                               uint64_t Address,
 | 
			
		||||
                                               const void *Decoder);
 | 
			
		||||
static DecodeStatus DecodeCondBranchTarget(llvm::MCInst &Inst, unsigned Imm,
 | 
			
		||||
                                           uint64_t Address,
 | 
			
		||||
                                           const void *Decoder);
 | 
			
		||||
@@ -744,9 +747,18 @@ static DecodeStatus DecodeDDDDRegisterClass(MCInst &Inst, unsigned RegNo,
 | 
			
		||||
  return Success;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static DecodeStatus DecodeFixedPointScaleImm(llvm::MCInst &Inst, unsigned Imm,
 | 
			
		||||
                                             uint64_t Addr,
 | 
			
		||||
                                             const void *Decoder) {
 | 
			
		||||
static DecodeStatus DecodeFixedPointScaleImm32(llvm::MCInst &Inst, unsigned Imm,
 | 
			
		||||
                                               uint64_t Addr,
 | 
			
		||||
                                               const void *Decoder) {
 | 
			
		||||
  // scale{5} is asserted as 1 in tblgen.
 | 
			
		||||
  Imm |= 0x20;  
 | 
			
		||||
  Inst.addOperand(MCOperand::CreateImm(64 - Imm));
 | 
			
		||||
  return Success;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static DecodeStatus DecodeFixedPointScaleImm64(llvm::MCInst &Inst, unsigned Imm,
 | 
			
		||||
                                               uint64_t Addr,
 | 
			
		||||
                                               const void *Decoder) {
 | 
			
		||||
  Inst.addOperand(MCOperand::CreateImm(64 - Imm));
 | 
			
		||||
  return Success;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user