[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [Consult] tilegx: About floating point instructions
From: |
Richard Henderson |
Subject: |
Re: [Qemu-devel] [Consult] tilegx: About floating point instructions |
Date: |
Mon, 3 Aug 2015 09:40:21 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 |
On 08/01/2015 02:47 AM, Chen Gang wrote:
> I am just adding floating point instructions (e.g. fsingle_add1), but
> for me, I can not find any details about them (the ISA documents only
> give a summary description, but not details), e.g.
The tilegx splits the four/six cycle arithmetic into multiple black-box
instructions. You need only really implement one of the four, with the
rest of them being implemented as nops or moves.
Looking at what gcc produces gives the hints:
fdouble_unpack_min min, srca, srcb
fdouble_unpack_max max, srca, srcb
fdouble_add_flags flg, srca, srcb
fdouble_addsub max, min, flg
fdouble_pack1 dst, max, flg
fdouble_pack2 dst, max, zero
The unpack, addsub, and pack2 insns can be ignored, the add_flags insn can
perform the whole operation, the pack1 insn performs a move from "flg" to "dst".
Similarly for the single-precision:
fsingle_add1 tmp, srca, srcb
fsingle_addsub2 tmp, srca, srcb
fsingle_pack1 flg, tmp
fsingle_pack2 dst, tmp, flg
The add1 insn performs the whole operation, the addsub2 and pack1 insns are
ignored, and the pack2 insn is a move from tmp to dst.
r~
- [Qemu-devel] [Consult] tilegx: About floating point instructions, Chen Gang, 2015/08/01
- Re: [Qemu-devel] [Consult] tilegx: About floating point instructions,
Richard Henderson <=
- Re: [Qemu-devel] [Consult] tilegx: About floating point instructions, Chen Gang, 2015/08/03
- Re: [Qemu-devel] [Consult] tilegx: About floating point instructions, Chen Gang, 2015/08/04
- Re: [Qemu-devel] [Consult] tilegx: About floating point instructions, Richard Henderson, 2015/08/04
- Re: [Qemu-devel] [Consult] tilegx: About floating point instructions, Chen Gang, 2015/08/05
- Re: [Qemu-devel] [Consult] tilegx: About floating point instructions, Chen Gang, 2015/08/08
- Re: [Qemu-devel] [Consult] tilegx: About floating point instructions, Chen Gang, 2015/08/08
- Re: [Qemu-devel] [Consult] tilegx: About floating point instructions, Chen Gang, 2015/08/08
- Re: [Qemu-devel] [Consult] tilegx: About floating point instructions, Chen Gang, 2015/08/11
- Re: [Qemu-devel] [Consult] tilegx: About floating point instructions, Chen Gang, 2015/08/13
- Re: [Qemu-devel] [Consult] tilegx: About floating point instructions, Chen Gang, 2015/08/15