[BACK]Return to t-zdisp.sh CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / gmp / mpn / x86

Annotation of OpenXM_contrib/gmp/mpn/x86/t-zdisp.sh, Revision 1.1

1.1     ! ohara       1: #! /bin/sh
        !             2: #
        !             3: # Copyright 2000 Free Software Foundation, Inc.
        !             4: #
        !             5: # This file is part of the GNU MP Library.
        !             6: #
        !             7: # The GNU MP Library is free software; you can redistribute it and/or modify
        !             8: # it under the terms of the GNU Lesser General Public License as published
        !             9: # by the Free Software Foundation; either version 2.1 of the License, or (at
        !            10: # your option) any later version.
        !            11: #
        !            12: # The GNU MP Library is distributed in the hope that it will be useful, but
        !            13: # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
        !            14: # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
        !            15: # License for more details.
        !            16: #
        !            17: # You should have received a copy of the GNU Lesser General Public License
        !            18: # along with the GNU MP Library; see the file COPYING.LIB.  If not, write to
        !            19: # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
        !            20: # MA 02111-1307, USA.
        !            21:
        !            22:
        !            23: # Usage: cd $(builddir)/mpn
        !            24: #        $(srcdir)/x86/t-zdisp.sh
        !            25: #
        !            26: # Run the Zdisp() macro instructions through the assembler to check
        !            27: # the encodings used.  Mismatches are printed, no output means all ok.
        !            28: #
        !            29: # This program is only meant for use during development.  It can be
        !            30: # run in the mpn build directory of any x86 configuration.
        !            31: #
        !            32: # For this test the assembler needs to generate byte sized 0
        !            33: # displacements when given something like 0(%eax).  Recent versions of
        !            34: # gas are suitable (eg. 2.9.x or 2.10.x).
        !            35:
        !            36: set -e
        !            37:
        !            38: cat >tmp-zdisptest.asm <<\EOF
        !            39:
        !            40: include(`../config.m4')
        !            41:
        !            42: dnl  Redefine Zdisp_match to output its pattern and encoding.
        !            43: define(`Zdisp_match',
        !            44: `define(`Zdisp_found',1)dnl
        !            45: ifelse(`$2',0,`        $1      $2$3, $4')`'dnl
        !            46: ifelse(`$3',0,`        $1      $2, $3$4')`'dnl
        !            47:
        !            48:        .byte   $5
        !            49: ')
        !            50:        .text
        !            51:        Zdisp()
        !            52: EOF
        !            53:
        !            54: m4 tmp-zdisptest.asm >tmp-zdisptest.s
        !            55: as -o tmp-zdisptest.o tmp-zdisptest.s
        !            56:
        !            57: # Demand duplicates from the instruction patterns and byte encodings.
        !            58: objdump -d tmp-zdisptest.o | awk '
        !            59: /^ *[a-z0-9]+:/ {
        !            60:        sub(/^ *[a-z0-9]+:/,"")
        !            61:         print
        !            62: }' | sort | uniq -u

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>