cpu.*: removes the vector-regs hook

It is not needed for now as float-regs are always used for vector-reps.
char-rename
Björn Lindqvist 2016-08-01 19:33:01 +02:00
parent 9bbe8a8c29
commit 06319ac58d
3 changed files with 5 additions and 11 deletions

View File

@ -150,18 +150,17 @@ SINGLETONS: int-regs float-regs ;
UNION: reg-class int-regs float-regs ; UNION: reg-class int-regs float-regs ;
CONSTANT: reg-classes { int-regs float-regs } CONSTANT: reg-classes { int-regs float-regs }
! On x86, vectors and floats are stored in the same register bank
! On PowerPC they are distinct
HOOK: vector-regs cpu ( -- reg-class )
GENERIC: reg-class-of ( rep -- reg-class ) GENERIC: reg-class-of ( rep -- reg-class )
M: tagged-rep reg-class-of drop int-regs ; M: tagged-rep reg-class-of drop int-regs ;
M: int-rep reg-class-of drop int-regs ; M: int-rep reg-class-of drop int-regs ;
M: float-rep reg-class-of drop float-regs ; M: float-rep reg-class-of drop float-regs ;
M: double-rep reg-class-of drop float-regs ; M: double-rep reg-class-of drop float-regs ;
M: vector-rep reg-class-of drop vector-regs ;
M: scalar-rep reg-class-of drop vector-regs ; ! Note that on PowerPC, vectors and floats are stored in different
! register banks. But Factor doesn't support SIMD on that platform.
M: vector-rep reg-class-of drop float-regs ;
M: scalar-rep reg-class-of drop float-regs ;
GENERIC: rep-size ( rep -- n ) foldable GENERIC: rep-size ( rep -- n ) foldable

View File

@ -46,9 +46,6 @@ CONSTANT: vm-reg 16
enable-float-intrinsics enable-float-intrinsics
M: ppc vector-regs ( -- reg-class )
float-regs ;
M: ppc machine-registers ( -- assoc ) M: ppc machine-registers ( -- assoc )
{ {
{ int-regs $[ 3 12 [a,b] 17 29 [a,b] append ] } { int-regs $[ 3 12 [a,b] 17 29 [a,b] append ] }

View File

@ -19,8 +19,6 @@ IN: cpu.x86
M: label JMP 0 JMP rc-relative label-fixup ; M: label JMP 0 JMP rc-relative label-fixup ;
M: label JUMPcc [ 0 ] dip JUMPcc rc-relative label-fixup ; M: label JUMPcc [ 0 ] dip JUMPcc rc-relative label-fixup ;
M: x86 vector-regs float-regs ;
HOOK: stack-reg cpu ( -- reg ) HOOK: stack-reg cpu ( -- reg )
HOOK: reserved-stack-space cpu ( -- n ) HOOK: reserved-stack-space cpu ( -- n )