⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ashxdi3.s

📁 linux-2.6.15.6
💻 S
字号:
/* * linux/arch/m32r/lib/ashxdi3.S * * Copyright (C) 2001,2002  Hiroyuki Kondo, and Hirokazu Takata * *//* $Id$ */#include <linux/config.h>;;      input   (r0,r1)  src;      input    r2      shift val;               r3      scratch;      output  (r0,r1);#ifdef CONFIG_ISA_DUAL_ISSUE#ifndef __LITTLE_ENDIAN__	.text	.align	4	.globl __ashrdi3__ashrdi3:	cmpz	r2		    ||	ldi	r3, #32	jc	r14		    ||	cmpu	r2, r3	bc      1f    ;   case 32 =< shift	mv      r1, r0		    ||	srai    r0, #31	addi    r2, #-32	sra     r1, r2	jmp     r14	.fillinsn1:  ;   case shift <32	mv      r3, r0		    ||	srl     r1, r2	sra     r0, r2		    ||	neg     r2, r2	sll     r3, r2	or      r1, r3		    ||	jmp	r14        .align  4        .globl __ashldi3        .globl __lshldi3__ashldi3:__lshldi3:	cmpz	r2		    ||	ldi	r3, #32	jc	r14		    ||	cmpu	r2, r3	bc      1f    ;   case 32 =< shift	mv      r0, r1		    ||	addi    r2, #-32	sll     r0, r2		    ||	ldi     r1, #0	jmp     r14	.fillinsn1:  ;   case shift <32	mv      r3, r1		    ||	sll     r0, r2	sll     r1, r2		    ||	neg     r2, r2	srl     r3, r2	or      r0, r3		    ||	jmp	r14	.align	4	.globl __lshrdi3__lshrdi3:	cmpz	r2		    ||	ldi	r3, #32	jc	r14		    ||	cmpu	r2, r3	bc      1f    ;   case 32 =< shift	mv      r1, r0		    ||	addi    r2, #-32	ldi	r0, #0		    ||	srl     r1, r2	jmp     r14	.fillinsn1:  ;   case shift <32	mv      r3, r0		    ||	srl     r1, r2	srl     r0, r2		    ||	neg     r2, r2	sll     r3, r2	or      r1, r3		    ||	jmp	r14#else /* LITTLE_ENDIAN */	.text	.align	4	.globl __ashrdi3__ashrdi3:	cmpz	r2		    ||	ldi	r3, #32	jc	r14		    ||	cmpu	r2, r3	bc      1f    ;   case 32 =< shift	mv      r0, r1		    ||	srai    r1, #31	addi    r2, #-32	sra     r0, r2	jmp     r14	.fillinsn1:  ;   case shift <32	mv      r3, r1		    ||	srl     r0, r2	sra     r1, r2		    ||	neg     r2, r2	sll     r3, r2	or      r0, r3		    ||	jmp	r14        .align  4        .globl __ashldi3        .globl __lshldi3__ashldi3:__lshldi3:	cmpz	r2		    ||	ldi	r3, #32	jc	r14		    ||	cmpu	r2, r3	bc      1f    ;   case 32 =< shift	mv      r1, r0		    ||	addi    r2, #-32	sll     r1, r2		    ||	ldi     r0, #0	jmp     r14	.fillinsn1:  ;   case shift <32	mv      r3, r0		    ||	sll     r1, r2	sll     r0, r2		    ||	neg     r2, r2	srl     r3, r2	or      r1, r3		    ||	jmp	r14	.align	4	.globl __lshrdi3__lshrdi3:	cmpz	r2		    ||	ldi	r3, #32	jc	r14		    ||	cmpu	r2, r3	bc      1f    ;   case 32 =< shift	mv      r0, r1		    ||	addi    r2, #-32	ldi	r1, #0		    ||	srl     r0, r2	jmp     r14	.fillinsn1:  ;   case shift <32	mv      r3, r1		    ||	srl     r0, r2	srl     r1, r2		    ||	neg     r2, r2	sll     r3, r2	or      r0, r3		    ||	jmp	r14#endif#else /* not CONFIG_ISA_DUAL_ISSUE */#ifndef __LITTLE_ENDIAN__	.text	.align	4	.globl __ashrdi3__ashrdi3:	beqz	r2, 2f	cmpui   r2, #32	bc      1f    ;   case 32 =< shift	mv      r1, r0	srai    r0, #31	addi    r2, #-32	sra     r1, r2	jmp     r14	.fillinsn1:  ;   case shift <32	mv      r3, r0	srl     r1, r2	sra     r0, r2	neg     r2, r2	sll     r3, r2	or      r1, r3	.fillinsn2:	jmp	r14        .align  4        .globl __ashldi3        .globl __lshldi3__ashldi3:__lshldi3:	beqz	r2, 2f	cmpui   r2, #32	bc      1f    ;   case 32 =< shift	mv      r0, r1	addi    r2, #-32	sll     r0, r2	ldi     r1, #0	jmp     r14	.fillinsn1:  ;   case shift <32	mv      r3, r1	sll     r0, r2	sll     r1, r2	neg     r2, r2	srl     r3, r2	or      r0, r3	.fillinsn2:	jmp	r14	.align	4	.globl __lshrdi3__lshrdi3:	beqz	r2, 2f	cmpui   r2, #32	bc      1f    ;   case 32 =< shift	mv      r1, r0	ldi	r0, #0	addi    r2, #-32	srl     r1, r2	jmp     r14	.fillinsn1:  ;   case shift <32	mv      r3, r0	srl     r1, r2	srl     r0, r2	neg     r2, r2	sll     r3, r2	or      r1, r3	.fillinsn2:	jmp	r14#else	.text	.align	4	.globl __ashrdi3__ashrdi3:	beqz	r2, 2f	cmpui   r2, #32	bc      1f    ;   case 32 =< shift	mv      r0, r1	srai    r1, #31	addi    r2, #-32	sra     r0, r2	jmp     r14	.fillinsn1:  ;   case shift <32	mv      r3, r1	srl     r0, r2	sra     r1, r2	neg     r2, r2	sll     r3, r2	or      r0, r3	.fillinsn2:	jmp	r14        .align  4        .globl __ashldi3        .globl __lshldi3__ashldi3:__lshldi3:	beqz	r2, 2f	cmpui   r2, #32	bc      1f    ;   case 32 =< shift	mv      r1, r0	addi    r2, #-32	sll     r1, r2	ldi     r0, #0	jmp     r14	.fillinsn1:  ;   case shift <32	mv      r3, r0	sll     r1, r2	sll     r0, r2	neg     r2, r2	srl     r3, r2	or      r1, r3	.fillinsn2:	jmp	r14	.align	4	.globl __lshrdi3__lshrdi3:	beqz	r2, 2f	cmpui   r2, #32	bc      1f    ;   case 32 =< shift	mv      r0, r1	ldi	r1, #0	addi    r2, #-32	srl     r0, r2	jmp     r14	.fillinsn1:  ;   case shift <32	mv      r3, r1	srl     r0, r2	srl     r1, r2	neg     r2, r2	sll     r3, r2	or      r0, r3	.fillinsn2:	jmp	r14#endif#endif /* not CONFIG_ISA_DUAL_ISSUE */	.end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -