diff options
Diffstat (limited to 'lib/hipe/ppc/hipe_ppc.hrl')
-rw-r--r-- | lib/hipe/ppc/hipe_ppc.hrl | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/lib/hipe/ppc/hipe_ppc.hrl b/lib/hipe/ppc/hipe_ppc.hrl deleted file mode 100644 index 3eef8be487..0000000000 --- a/lib/hipe/ppc/hipe_ppc.hrl +++ /dev/null @@ -1,113 +0,0 @@ -%%% -*- erlang-indent-level: 2 -*- -%%% -%%% Licensed under the Apache License, Version 2.0 (the "License"); -%%% you may not use this file except in compliance with the License. -%%% You may obtain a copy of the License at -%%% -%%% http://www.apache.org/licenses/LICENSE-2.0 -%%% -%%% Unless required by applicable law or agreed to in writing, software -%%% distributed under the License is distributed on an "AS IS" BASIS, -%%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -%%% See the License for the specific language governing permissions and -%%% limitations under the License. - -%%%-------------------------------------------------------------------- -%%% Basic Values: -%%% -%%% temp ::= {ppc_temp, reg, type, allocatable} -%%% reg ::= <token from hipe_ppc_registers> -%%% type ::= tagged | untagged -%%% allocatable ::= true | false -%%% -%%% sdesc ::= {ppc_sdesc, exnlab, fsize, arity, live} -%%% exnlab ::= [] | label -%%% fsize ::= int32 (frame size in words) -%%% live ::= <tuple of int32> (word offsets) -%%% arity ::= uint8 -%%% -%%% mfa ::= {ppc_mfa, atom, atom, arity} -%%% prim ::= {ppc_prim, atom} - --record(ppc_mfa, {m::atom(), f::atom(), a::arity()}). --record(ppc_prim, {prim}). --record(ppc_sdesc, {exnlab, fsize, arity::arity(), live}). --record(ppc_simm16, {value}). --record(ppc_temp, {reg, type, allocatable}). --record(ppc_uimm16, {value}). - -%%% Instruction Operands: -%%% -%%% aluop ::= add | add. | addi | addic. | addis | addo. | subf | subf. | subfo. -%%% | and | and. | andi. | or | or. | ori | xor | xor. | xori -%%% | slw | slw. | slwi | slwi. | srw | srw. | srwi | srwi. -%%% | sraw | sraw. | srawi | srawi. | mulli | mullw | mullw. | mullwo. -%%% bcond ::= eq | ne | gt | ge | lt | le | so | ns -%%% cmpop ::= cmp | cmpi | cmpl | cmpli -%%% ldop ::= lbz | lha | lhz | lwz -%%% ldxop ::= lbzx | lhax | lhzx | lwzx | lhbrx | lwbrx -%%% stop ::= stb | stw (HW has sth, but we don't use it) -%%% stxop ::= stbx | stwx (HW has sthx/sthbrx/stwbrx, but we don't use them) -%%% unop ::= extsb | extsh | {rlwinm,SH,MB,ME} | {rlwinm.,SH,MB,ME} -%%% -%%% immediate ::= int32 | atom | {label, label_type} -%%% label_type ::= constant | closure | c_const -%%% -%%% dst ::= temp -%%% src ::= temp -%%% | simm16 | uimm16 (only in alu.src2, cmp.src2) -%%% base ::= temp -%%% disp ::= sint16 (untagged simm16) -%%% -%%% fun ::= mfa | prim -%%% func ::= mfa | prim | 'ctr' -%%% -%%% spr ::= ctr | lr | xer - -%%% Instructions: - --record(alu, {aluop, dst, src1, src2}). --record(b_fun, {'fun', linkage}). % known tailcall --record(b_label, {label}). % local jump, unconditional --record(bc, {bcond, label, pred}). % local jump, conditional --record(bctr, {labels}). % computed tailcall or switch --record(bctrl, {sdesc}). % computed recursive call --record(bl, {'fun', sdesc, linkage}). % known recursive call --record(blr, {}). % unconditional bclr (return) --record(cmp, {cmpop, src1, src2}). --record(comment, {term}). --record(label, {label}). --record(load, {ldop, dst, disp, base}). % non-indexed, non-update form --record(loadx, {ldxop, dst, base1, base2}). % indexed, non-update form --record(mfspr, {dst, spr}). % for reading LR and XER --record(mtcr, {src}). % for copying XER[CA] to CR0[EQ] via a temp --record(mtspr, {spr, src}). % for writing LR, CTR, and XER --record(pseudo_bc, {bcond, true_label, false_label, pred}). --record(pseudo_call, {func, sdesc, contlab, linkage}). --record(pseudo_call_prepare, {nrstkargs}). --record(pseudo_li, {dst, imm}). --record(pseudo_move, {dst, src}). --record(pseudo_spill_move, {dst, temp, src}). --record(pseudo_tailcall, {func, arity, stkargs, linkage}). --record(pseudo_tailcall_prepare, {}). --record(store, {stop, src, disp, base}). % non-indexed, non-update form --record(storex, {stxop, src, base1, base2}).% indexed, non-update form --record(unary, {unop, dst, src}). --record(lfd, {dst, disp, base}). --record(lfdx, {dst, base1, base2}). --record(stfd, {src, disp, base}). --record(stfdx, {src, base1, base2}). --record(fp_binary, {fp_binop, dst, src1, src2}). --record(fp_unary, {fp_unop, dst, src}). --record(pseudo_fmove, {dst, src}). --record(pseudo_spill_fmove, {dst, temp, src}). - -%%% Function definitions. - --include("../misc/hipe_consttab.hrl"). - --record(defun, {mfa :: mfa(), formals, code, - data :: hipe_consttab(), - isclosure :: boolean(), - isleaf :: boolean(), - var_range, label_range}). |