encode-c-type ( c-type L -- size VR opc1 sh L )


Vocabulary
cpu.arm.64.assembler

Inputs
c-typean object
Lan object


Outputs
sizean object
VRan object
opc1an object
shan object
Lan object


Definition


: encode-c-type ( c-type L -- size VR opc1 sh L )
[
{
{ uchar [ 0 0 0 0 ] }
{ char [ 0 0 1 0 ] }
{ ushort [ 1 0 0 1 ] }
{ short [ 1 0 1 1 ] }
{ uint [ 2 0 0 2 ] }
{ int [ 2 0 1 2 ] }
{ ulonglong [ 3 0 0 3 ] }
{ longlong [ 3 0 0 3 ] }
{ int-rep [ 3 0 0 3 ] }
{ tagged-rep [ 3 0 0 3 ] }
{ float [ 2 1 0 2 ] }
{ float-rep [ 2 1 0 2 ] }
{ double [ 3 1 0 3 ] }
{ double-rep [ 3 1 0 3 ] }
{ vector-rep [ 4 1 0 4 ] }
[ unknown-c-type ]
} case
] dip dup 0 = [ [ drop 0 ] 2dip ] when ;