[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

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>