Make sure only NEON enabled devices save/restore D16+ registers
llvm-svn: 221532
This commit is contained in:
		
							parent
							
								
									13437e8414
								
							
						
					
					
						commit
						083eb00d9d
					
				| 
						 | 
					@ -390,7 +390,7 @@ DEFINE_LIBUNWIND_PRIVATE_FUNCTION(_ZN9libunwind13Registers_arm19restoreVFPWithFL
 | 
				
			||||||
  .p2align 2
 | 
					  .p2align 2
 | 
				
			||||||
DEFINE_LIBUNWIND_PRIVATE_FUNCTION(_ZN9libunwind13Registers_arm12restoreVFPv3EPy)
 | 
					DEFINE_LIBUNWIND_PRIVATE_FUNCTION(_ZN9libunwind13Registers_arm12restoreVFPv3EPy)
 | 
				
			||||||
#if defined(__ARM_FP)
 | 
					#if defined(__ARM_FP)
 | 
				
			||||||
#if __ARM_ARCH < 7
 | 
					#ifndef __ARM_NEON
 | 
				
			||||||
  ldcl p11, cr0, [r0], {0x20}  @ vldm r0, {d16-d31}
 | 
					  ldcl p11, cr0, [r0], {0x20}  @ vldm r0, {d16-d31}
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
  vldmia r0, {d16-d31}
 | 
					  vldmia r0, {d16-d31}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -369,7 +369,7 @@ DEFINE_LIBUNWIND_PRIVATE_FUNCTION(_ZN9libunwind13Registers_arm9saveVFPv3EPy)
 | 
				
			||||||
  @ these registers implies they are, actually, available on the target, so
 | 
					  @ these registers implies they are, actually, available on the target, so
 | 
				
			||||||
  @ it's ok to execute.
 | 
					  @ it's ok to execute.
 | 
				
			||||||
  @ So, generate the instructions using the corresponding coprocessor mnemonic.
 | 
					  @ So, generate the instructions using the corresponding coprocessor mnemonic.
 | 
				
			||||||
#if __ARM_ARCH < 7
 | 
					#ifndef __ARM_NEON
 | 
				
			||||||
  stcl p11, cr0, [r0], {0x20}  @ vstm r0, {d16-d31}
 | 
					  stcl p11, cr0, [r0], {0x20}  @ vstm r0, {d16-d31}
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
  vstmia r0, {d16-d31}
 | 
					  vstmia r0, {d16-d31}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue