Changeset 14898
- Timestamp:
- Jul 21, 2011, 3:19:22 AM (13 years ago)
- File:
-
- 1 edited
-
trunk/source/compiler/ARM/arm-vinsns.lisp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/compiler/ARM/arm-vinsns.lisp
r14847 r14898 1971 1971 (b label)) 1972 1972 1973 (define-arm-vinsn (cjmp :branch) (((reg :lisp)) 1974 ((reg :lisp) 1975 (minval :s32const) 1976 (maxval :u32const) 1977 (default :label)) 1978 ((temp :s32))) 1979 (tst reg (:$ arm::fixnummask)) 1980 (bne default) 1981 ((:not (:pred zerop minval)) 1982 ((:pred arm::encode-arm-immediate minval) 1983 (sub reg reg (:$ minval))) 1984 ((:not (:pred arm::encode-arm-immediate minval)) 1985 ((:pred arm::encode-arm-immediate (:apply - minval)) 1986 (add reg reg (:$ (:apply - minval)))) 1987 ((:not (:pred arm::encode-arm-immediate (:apply - minval))) 1988 ((:and (:pred >= minval 0) 1989 (:pred < minval #x10000)) 1990 (movw temp (:$ minval))) 1991 ((:not (:and 1992 (:pred >= minval 0) 1993 (:pred < minval #x10000))) 1994 (movw temp (:$ (:apply logand #xffff minval))) 1995 (movt temp (:$ (:apply ldb (byte 16 16) minval)))) 1996 (sub reg reg temp)))) 1997 ((:pred arm::encode-arm-immediate maxval) 1998 (cmp reg (:$ maxval))) 1999 ((:not (:pred arm::encode-arm-immediate maxval)) 2000 ((:pred arm::encode-arm-immediate (:apply lognot maxval)) 2001 (cmn reg (:$ (:apply lognot maxval)))) 2002 ((:not (:pred arm::encode-arm-immediate (:apply lognot maxval))) 2003 ((:pred (< maxval #x10000)) 2004 (movw temp (:$ maxval))) 2005 ((:not (:pred (< maxval #x10000))) 2006 (movw temp (:$ (:apply logand #xffff maxval))) 2007 (movt temp (:$ (:apply ldb (byte 16 16) maxval)))) 2008 (cmp reg temp))) 2009 (bhi default) 2010 (add arm::lr arm::pc reg) 2011 (bx lr)) 2012 2013 2014 2015 2016 1973 2017 1974 2018 (define-arm-vinsn (cbranch-true :branch) (()
Note:
See TracChangeset
for help on using the changeset viewer.
