diff --git a/compiler/aarch64/a64reg.dat b/compiler/aarch64/a64reg.dat index 17c5443abb..d2f90db326 100644 --- a/compiler/aarch64/a64reg.dat +++ b/compiler/aarch64/a64reg.dat @@ -240,4 +240,6 @@ D31,$04,$0a,$1F,d31,31,31 Q31,$04,$05,$1F,q31,31,31 NZCV,$05,$00,$00,nzcv,0,0 - +FPCR,$05,$00,$01,fpcr,0,0 +FPSR,$05,$00,$02,fpsr,0,0 +TPIDR_EL0,$05,$00,$03,tpidr_el0,0,0 diff --git a/compiler/aarch64/ra64con.inc b/compiler/aarch64/ra64con.inc index 8858845ab6..0092d15af0 100644 --- a/compiler/aarch64/ra64con.inc +++ b/compiler/aarch64/ra64con.inc @@ -227,3 +227,6 @@ NR_S31 = tregister($0409001F); NR_D31 = tregister($040a001F); NR_Q31 = tregister($0405001F); NR_NZCV = tregister($05000000); +NR_FPCR = tregister($05000001); +NR_FPSR = tregister($05000002); +NR_TPIDR_EL0 = tregister($05000003); diff --git a/compiler/aarch64/ra64dwa.inc b/compiler/aarch64/ra64dwa.inc index 6f674eb541..a65fff8a5c 100644 --- a/compiler/aarch64/ra64dwa.inc +++ b/compiler/aarch64/ra64dwa.inc @@ -226,4 +226,7 @@ 31, 31, 31, +0, +0, +0, 0 diff --git a/compiler/aarch64/ra64nor.inc b/compiler/aarch64/ra64nor.inc index 6d92f1e3f1..a7bff1f7e8 100644 --- a/compiler/aarch64/ra64nor.inc +++ b/compiler/aarch64/ra64nor.inc @@ -1,2 +1,2 @@ { don't edit, this file is generated from a64reg.dat } -228 +231 diff --git a/compiler/aarch64/ra64num.inc b/compiler/aarch64/ra64num.inc index 8ceb96bd84..4173686ca4 100644 --- a/compiler/aarch64/ra64num.inc +++ b/compiler/aarch64/ra64num.inc @@ -226,4 +226,7 @@ tregister($0403001F), tregister($0409001F), tregister($040a001F), tregister($0405001F), -tregister($05000000) +tregister($05000000), +tregister($05000001), +tregister($05000002), +tregister($05000003) diff --git a/compiler/aarch64/ra64rni.inc b/compiler/aarch64/ra64rni.inc index 10cba828eb..d818e4d5f5 100644 --- a/compiler/aarch64/ra64rni.inc +++ b/compiler/aarch64/ra64rni.inc @@ -226,4 +226,7 @@ 215, 220, 225, -227 +227, +228, +229, +230 diff --git a/compiler/aarch64/ra64sri.inc b/compiler/aarch64/ra64sri.inc index f0adfd0ff5..570563bbbc 100644 --- a/compiler/aarch64/ra64sri.inc +++ b/compiler/aarch64/ra64sri.inc @@ -64,6 +64,8 @@ 105, 110, 115, +228, +229, 68, 73, 118, @@ -162,6 +164,7 @@ 109, 114, 66, +230, 1, 3, 21, diff --git a/compiler/aarch64/ra64sta.inc b/compiler/aarch64/ra64sta.inc index 6f674eb541..a65fff8a5c 100644 --- a/compiler/aarch64/ra64sta.inc +++ b/compiler/aarch64/ra64sta.inc @@ -226,4 +226,7 @@ 31, 31, 31, +0, +0, +0, 0 diff --git a/compiler/aarch64/ra64std.inc b/compiler/aarch64/ra64std.inc index 42dc34c6ab..1eaedf8a34 100644 --- a/compiler/aarch64/ra64std.inc +++ b/compiler/aarch64/ra64std.inc @@ -226,4 +226,7 @@ 's31', 'd31', 'q31', -'nzcv' +'nzcv', +'fpcr', +'fpsr', +'tpidr_el0' diff --git a/compiler/aarch64/ra64sup.inc b/compiler/aarch64/ra64sup.inc index 176a67ddf2..0e59c014eb 100644 --- a/compiler/aarch64/ra64sup.inc +++ b/compiler/aarch64/ra64sup.inc @@ -227,3 +227,6 @@ RS_S31 = $1F; RS_D31 = $1F; RS_Q31 = $1F; RS_NZCV = $00; +RS_FPCR = $01; +RS_FPSR = $02; +RS_TPIDR_EL0 = $03;