From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 86B8C7EEBF for ; Sun, 21 Jun 2015 04:17:43 +0200 (CEST) Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of n.oje.bar@gmail.com) identity=pra; client-ip=74.125.82.50; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="n.oje.bar@gmail.com"; x-sender="n.oje.bar@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of n.oje.bar@gmail.com designates 74.125.82.50 as permitted sender) identity=mailfrom; client-ip=74.125.82.50; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="n.oje.bar@gmail.com"; x-sender="n.oje.bar@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-wg0-f50.google.com) identity=helo; client-ip=74.125.82.50; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="n.oje.bar@gmail.com"; x-sender="postmaster@mail-wg0-f50.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0BUAgDEHYZVlDJSfUpcgy81XwaDGKoThg+MKYceB0wBAQEBAQESAQEBAQcLCwkfMIQ7EQQZARseAxIQDwImAiQBEQEFAS0qh3cBAxKhAIMxPjGLP4FrgnmKWQoZJw1XhTABBQ6BE49HglKBQwWMeoQogluEVoZ4gXuUbBIjgQwJF4FYDAGCKzYxgkgBAQE X-IPAS-Result: A0BUAgDEHYZVlDJSfUpcgy81XwaDGKoThg+MKYceB0wBAQEBAQESAQEBAQcLCwkfMIQ7EQQZARseAxIQDwImAiQBEQEFAS0qh3cBAxKhAIMxPjGLP4FrgnmKWQoZJw1XhTABBQ6BE49HglKBQwWMeoQogluEVoZ4gXuUbBIjgQwJF4FYDAGCKzYxgkgBAQE X-IronPort-AV: E=Sophos;i="5.13,652,1427752800"; d="scan'208";a="166460915" Received: from mail-wg0-f50.google.com ([74.125.82.50]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/RC4-SHA; 21 Jun 2015 04:17:43 +0200 Received: by wgfq1 with SMTP id q1so69081123wgf.1 for ; Sat, 20 Jun 2015 19:17:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=ZkEFDQib3ikYclhk/N2JJehSsyyYfpgs3G/S8AsYL2Y=; b=hXT/2aID26WLL67qIWW3Xi/efD9l60BxS2oPg94Tq3sevzX4piIEkraZrrS9mX+9LT mUo163uJTigyzPtC/k5d5txwjWhaStQfvfwWNcQgXefq6tzXVv79MEMTID1dWf2PnuPE YBiqzaSPoIFDrQqs5Mv2aLlSDYcMemHrlZ40YLABFn3vtXVuvLVl7uMdu2VQ86Eb4Mpo K8cUy2jp60nUth8gEL/i9cvsADvL8LKkMcDD1lrhUzBFWvnSmxkUTaFAy0KahmJlVYgG WLOIC/n6bKiXxFuUR1YZDAEh5qCdeGp1rCBPIvRdXDaJd3f4ZqckSeoAZANCu64XW5hm tkmg== MIME-Version: 1.0 X-Received: by 10.180.99.71 with SMTP id eo7mr10446454wib.95.1434853062961; Sat, 20 Jun 2015 19:17:42 -0700 (PDT) Received: by 10.194.135.6 with HTTP; Sat, 20 Jun 2015 19:17:42 -0700 (PDT) Date: Sun, 21 Jun 2015 07:47:42 +0530 Message-ID: From: Nicolas Ojeda Bar To: caml-list@inria.fr Content-Type: text/plain; charset=UTF-8 Subject: [Caml-list] mips32 backend without floating point hardware Hello list, I am trying to get the mips o32 backend (from 1.*, ~17 years ago!) working again on machines without *any* floating point hardware. As suggested in the comments of selectgen.ml I overloaded method regs_for : Cmm.machtype -> Reg.t array to store float regs in pairs of int regs. This works well for the OCaml side of things, but the C abi dictates that float args should be passed in even-odd pairs of int registers (i.e., either a0-a1 or a2-a3). Unfortunately I lost the Int/Float distinction after overloading regs_for, so I can't enforce this constraint in Proc.loc_external_arguments. Similarly it is not possible to 8-align extra floats in the stack since the type information is lost. Any ideas/suggestions how to fit this situation to the existing backend infrastructure ? Thanks! Best wishes, Nicolas