mlp: Use LABEL_MANGLE() to export label symbols from inside asm block.
Originally committed as revision 18935 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
		
							parent
							
								
									7d9beec775
								
							
						
					
					
						commit
						7c4c60e520
					
				| @ -53,14 +53,14 @@ static const void *iirtable[5] = { &ff_mlp_iirorder_0, &ff_mlp_iirorder_1, | ||||
| #if ARCH_X86_64 | ||||
| 
 | ||||
| #define MLPMUL(label, offset, offs, offc)   \ | ||||
|     MANGLE(label)":                   \n\t" \ | ||||
|     LABEL_MANGLE(label)":             \n\t" \ | ||||
|     "movslq "offset"+"offs"(%0), %%rax\n\t" \ | ||||
|     "movslq "offset"+"offc"(%1), %%rdx\n\t" \ | ||||
|     "imul                 %%rdx, %%rax\n\t" \ | ||||
|     "add                  %%rax, %%rsi\n\t" | ||||
| 
 | ||||
| #define FIRMULREG(label, offset, firc)\ | ||||
|     MANGLE(label)":             \n\t" \ | ||||
|     LABEL_MANGLE(label)":       \n\t" \ | ||||
|     "movslq "#offset"(%0), %%rax\n\t" \ | ||||
|     "imul        %"#firc", %%rax\n\t" \ | ||||
|     "add            %%rax, %%rsi\n\t" | ||||
| @ -83,7 +83,7 @@ static const void *iirtable[5] = { &ff_mlp_iirorder_0, &ff_mlp_iirorder_1, | ||||
| #else /* if ARCH_X86_32 */ | ||||
| 
 | ||||
| #define MLPMUL(label, offset, offs, offc)  \ | ||||
|     MANGLE(label)":                  \n\t" \ | ||||
|     LABEL_MANGLE(label)":            \n\t" \ | ||||
|     "mov   "offset"+"offs"(%0), %%eax\n\t" \ | ||||
|     "imull "offset"+"offc"(%1)       \n\t" \ | ||||
|     "add                %%eax , %%esi\n\t" \ | ||||
| @ -142,13 +142,13 @@ static void mlp_filter_channel_x86(int32_t *state, const int32_t *coeff, | ||||
|         FIRMULREG(ff_mlp_firorder_3, 0x08,10) | ||||
|         FIRMULREG(ff_mlp_firorder_2, 0x04, 9) | ||||
|         FIRMULREG(ff_mlp_firorder_1, 0x00, 8) | ||||
|         MANGLE   (ff_mlp_firorder_0)":\n\t" | ||||
|         LABEL_MANGLE(ff_mlp_firorder_0)":\n\t" | ||||
|         "jmp  *%6                     \n\t" | ||||
|         IIRMUL   (ff_mlp_iirorder_4, 0x0c   ) | ||||
|         IIRMUL   (ff_mlp_iirorder_3, 0x08   ) | ||||
|         IIRMUL   (ff_mlp_iirorder_2, 0x04   ) | ||||
|         IIRMUL   (ff_mlp_iirorder_1, 0x00   ) | ||||
|         MANGLE   (ff_mlp_iirorder_0)":\n\t" | ||||
|         LABEL_MANGLE(ff_mlp_iirorder_0)":\n\t" | ||||
|         SHIFT_ACCUM | ||||
|         "mov  "RESULT"  ,"ACCUM"      \n\t" | ||||
|         "add  (%2)      ,"RESULT"     \n\t" | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user