Deleted Added
full compact
i386.md (52296) i386.md (53176)
1; GCC machine description for Intel X86.
2;; Copyright (C) 1988, 94, 95, 96, 97, 98, 1999 Free Software Foundation, Inc.
3;; Mostly by William Schelter.
4
5;; This file is part of GNU CC.
6
7;; GNU CC is free software; you can redistribute it and/or modify
8;; it under the terms of the GNU General Public License as published by

--- 57 unchanged lines hidden (view full) ---

66;; 5 This is a `bsf' operation.
67;; 6 This is the @GOT offset of a PIC address.
68;; 7 This is the @GOTOFF offset of a PIC address.
69;; 8 This is a reference to a symbol's @PLT address.
70
71;; This shadows the processor_type enumeration, so changes must be made
72;; to i386.h at the same time.
73
1; GCC machine description for Intel X86.
2;; Copyright (C) 1988, 94, 95, 96, 97, 98, 1999 Free Software Foundation, Inc.
3;; Mostly by William Schelter.
4
5;; This file is part of GNU CC.
6
7;; GNU CC is free software; you can redistribute it and/or modify
8;; it under the terms of the GNU General Public License as published by

--- 57 unchanged lines hidden (view full) ---

66;; 5 This is a `bsf' operation.
67;; 6 This is the @GOT offset of a PIC address.
68;; 7 This is the @GOTOFF offset of a PIC address.
69;; 8 This is a reference to a symbol's @PLT address.
70
71;; This shadows the processor_type enumeration, so changes must be made
72;; to i386.h at the same time.
73
74;; $FreeBSD: head/contrib/gcc/config/i386/i386.md 52296 1999-10-16 08:12:02Z obrien $
74;; $FreeBSD: head/contrib/gcc/config/i386/i386.md 53176 1999-11-15 04:28:55Z obrien $
75
76(define_attr "type"
77 "integer,binary,memory,test,compare,fcompare,idiv,imul,lea,fld,fpop,fpdiv,fpmul"
78 (const_string "integer"))
79
80(define_attr "memory" "none,load,store"
81 (cond [(eq_attr "type" "idiv,lea")
82 (const_string "none")

--- 2625 unchanged lines hidden (view full) ---

2708 "
2709{
2710 operands[2] = (rtx) assign_386_stack_local (HImode, 0);
2711 operands[3] = (rtx) assign_386_stack_local (HImode, 1);
2712 operands[4] = (rtx) assign_386_stack_local (SImode, 0);
2713}")
2714
2715(define_insn ""
75
76(define_attr "type"
77 "integer,binary,memory,test,compare,fcompare,idiv,imul,lea,fld,fpop,fpdiv,fpmul"
78 (const_string "integer"))
79
80(define_attr "memory" "none,load,store"
81 (cond [(eq_attr "type" "idiv,lea")
82 (const_string "none")

--- 2625 unchanged lines hidden (view full) ---

2708 "
2709{
2710 operands[2] = (rtx) assign_386_stack_local (HImode, 0);
2711 operands[3] = (rtx) assign_386_stack_local (HImode, 1);
2712 operands[4] = (rtx) assign_386_stack_local (SImode, 0);
2713}")
2714
2715(define_insn ""
2716 [(set (match_operand:SI 0 "nonimmediate_operand" "=m,!r")
2716 [(set (match_operand:SI 0 "nonimmediate_operand" "=m,!&r")
2717 (fix:SI (fix:SF (match_operand:SF 1 "register_operand" "f,f"))))
2718 (clobber (match_operand:HI 2 "memory_operand" "m,m"))
2719 (clobber (match_operand:HI 3 "memory_operand" "m,m"))
2720 (clobber (match_operand:SI 4 "memory_operand" "m,m"))
2721 (clobber (match_scratch:HI 5 "=&r,&r"))]
2722 "TARGET_80387"
2723 "* return output_fix_trunc (insn, operands);"
2724 [(set_attr "type" "fpop")])

--- 11 unchanged lines hidden (view full) ---

2736{
2737 operands[1] = copy_to_mode_reg (SFmode, operands[1]);
2738 operands[2] = (rtx) assign_386_stack_local (HImode, 0);
2739 operands[3] = (rtx) assign_386_stack_local (HImode, 1);
2740 operands[4] = (rtx) assign_386_stack_local (DImode, 0);
2741}")
2742
2743(define_insn ""
2717 (fix:SI (fix:SF (match_operand:SF 1 "register_operand" "f,f"))))
2718 (clobber (match_operand:HI 2 "memory_operand" "m,m"))
2719 (clobber (match_operand:HI 3 "memory_operand" "m,m"))
2720 (clobber (match_operand:SI 4 "memory_operand" "m,m"))
2721 (clobber (match_scratch:HI 5 "=&r,&r"))]
2722 "TARGET_80387"
2723 "* return output_fix_trunc (insn, operands);"
2724 [(set_attr "type" "fpop")])

--- 11 unchanged lines hidden (view full) ---

2736{
2737 operands[1] = copy_to_mode_reg (SFmode, operands[1]);
2738 operands[2] = (rtx) assign_386_stack_local (HImode, 0);
2739 operands[3] = (rtx) assign_386_stack_local (HImode, 1);
2740 operands[4] = (rtx) assign_386_stack_local (DImode, 0);
2741}")
2742
2743(define_insn ""
2744 [(set (match_operand:DI 0 "nonimmediate_operand" "=m,!r")
2744 [(set (match_operand:DI 0 "nonimmediate_operand" "=m,!&r")
2745 (fix:DI (fix:SF (match_operand:SF 1 "register_operand" "f,f"))))
2746 (clobber (match_dup 1))
2747 (clobber (match_operand:HI 2 "memory_operand" "m,m"))
2748 (clobber (match_operand:HI 3 "memory_operand" "m,m"))
2749 (clobber (match_operand:DI 4 "memory_operand" "m,o"))
2750 (clobber (match_scratch:HI 5 "=&r,&r"))]
2751 "TARGET_80387"
2752 "* return output_fix_trunc (insn, operands);"

--- 10 unchanged lines hidden (view full) ---

2763 "
2764{
2765 operands[2] = (rtx) assign_386_stack_local (HImode, 0);
2766 operands[3] = (rtx) assign_386_stack_local (HImode, 1);
2767 operands[4] = (rtx) assign_386_stack_local (SImode, 0);
2768}")
2769
2770(define_insn ""
2745 (fix:DI (fix:SF (match_operand:SF 1 "register_operand" "f,f"))))
2746 (clobber (match_dup 1))
2747 (clobber (match_operand:HI 2 "memory_operand" "m,m"))
2748 (clobber (match_operand:HI 3 "memory_operand" "m,m"))
2749 (clobber (match_operand:DI 4 "memory_operand" "m,o"))
2750 (clobber (match_scratch:HI 5 "=&r,&r"))]
2751 "TARGET_80387"
2752 "* return output_fix_trunc (insn, operands);"

--- 10 unchanged lines hidden (view full) ---

2763 "
2764{
2765 operands[2] = (rtx) assign_386_stack_local (HImode, 0);
2766 operands[3] = (rtx) assign_386_stack_local (HImode, 1);
2767 operands[4] = (rtx) assign_386_stack_local (SImode, 0);
2768}")
2769
2770(define_insn ""
2771 [(set (match_operand:SI 0 "nonimmediate_operand" "=m,!r")
2771 [(set (match_operand:SI 0 "nonimmediate_operand" "=m,!&r")
2772 (fix:SI (fix:DF (match_operand:DF 1 "register_operand" "f,f"))))
2773 (clobber (match_operand:HI 2 "memory_operand" "m,m"))
2774 (clobber (match_operand:HI 3 "memory_operand" "m,m"))
2775 (clobber (match_operand:SI 4 "memory_operand" "m,m"))
2776 (clobber (match_scratch:HI 5 "=&r,&r"))]
2777 "TARGET_80387"
2778 "* return output_fix_trunc (insn, operands);"
2779 [(set_attr "type" "fpop")])

--- 11 unchanged lines hidden (view full) ---

2791{
2792 operands[1] = copy_to_mode_reg (DFmode, operands[1]);
2793 operands[2] = (rtx) assign_386_stack_local (HImode, 0);
2794 operands[3] = (rtx) assign_386_stack_local (HImode, 1);
2795 operands[4] = (rtx) assign_386_stack_local (DImode, 0);
2796}")
2797
2798(define_insn ""
2772 (fix:SI (fix:DF (match_operand:DF 1 "register_operand" "f,f"))))
2773 (clobber (match_operand:HI 2 "memory_operand" "m,m"))
2774 (clobber (match_operand:HI 3 "memory_operand" "m,m"))
2775 (clobber (match_operand:SI 4 "memory_operand" "m,m"))
2776 (clobber (match_scratch:HI 5 "=&r,&r"))]
2777 "TARGET_80387"
2778 "* return output_fix_trunc (insn, operands);"
2779 [(set_attr "type" "fpop")])

--- 11 unchanged lines hidden (view full) ---

2791{
2792 operands[1] = copy_to_mode_reg (DFmode, operands[1]);
2793 operands[2] = (rtx) assign_386_stack_local (HImode, 0);
2794 operands[3] = (rtx) assign_386_stack_local (HImode, 1);
2795 operands[4] = (rtx) assign_386_stack_local (DImode, 0);
2796}")
2797
2798(define_insn ""
2799 [(set (match_operand:DI 0 "nonimmediate_operand" "=m,!r")
2799 [(set (match_operand:DI 0 "nonimmediate_operand" "=m,!&r")
2800 (fix:DI (fix:DF (match_operand:DF 1 "register_operand" "f,f"))))
2801 (clobber (match_dup 1))
2802 (clobber (match_operand:HI 2 "memory_operand" "m,m"))
2803 (clobber (match_operand:HI 3 "memory_operand" "m,m"))
2804 (clobber (match_operand:DI 4 "memory_operand" "m,o"))
2805 (clobber (match_scratch:HI 5 "=&r,&r"))]
2806 "TARGET_80387"
2807 "* return output_fix_trunc (insn, operands);"

--- 10 unchanged lines hidden (view full) ---

2818 "
2819{
2820 operands[2] = (rtx) assign_386_stack_local (HImode, 0);
2821 operands[3] = (rtx) assign_386_stack_local (HImode, 1);
2822 operands[4] = (rtx) assign_386_stack_local (SImode, 0);
2823}")
2824
2825(define_insn ""
2800 (fix:DI (fix:DF (match_operand:DF 1 "register_operand" "f,f"))))
2801 (clobber (match_dup 1))
2802 (clobber (match_operand:HI 2 "memory_operand" "m,m"))
2803 (clobber (match_operand:HI 3 "memory_operand" "m,m"))
2804 (clobber (match_operand:DI 4 "memory_operand" "m,o"))
2805 (clobber (match_scratch:HI 5 "=&r,&r"))]
2806 "TARGET_80387"
2807 "* return output_fix_trunc (insn, operands);"

--- 10 unchanged lines hidden (view full) ---

2818 "
2819{
2820 operands[2] = (rtx) assign_386_stack_local (HImode, 0);
2821 operands[3] = (rtx) assign_386_stack_local (HImode, 1);
2822 operands[4] = (rtx) assign_386_stack_local (SImode, 0);
2823}")
2824
2825(define_insn ""
2826 [(set (match_operand:SI 0 "nonimmediate_operand" "=m,!r")
2826 [(set (match_operand:SI 0 "nonimmediate_operand" "=m,!&r")
2827 (fix:SI (fix:XF (match_operand:XF 1 "register_operand" "f,f"))))
2828 (clobber (match_operand:HI 2 "memory_operand" "m,m"))
2829 (clobber (match_operand:HI 3 "memory_operand" "m,m"))
2830 (clobber (match_operand:SI 4 "memory_operand" "m,m"))
2831 (clobber (match_scratch:HI 5 "=&r,&r"))]
2832 "TARGET_80387"
2833 "* return output_fix_trunc (insn, operands);"
2834 [(set_attr "type" "fpop")])

--- 11 unchanged lines hidden (view full) ---

2846{
2847 operands[1] = copy_to_mode_reg (XFmode, operands[1]);
2848 operands[2] = (rtx) assign_386_stack_local (HImode, 0);
2849 operands[3] = (rtx) assign_386_stack_local (HImode, 1);
2850 operands[4] = (rtx) assign_386_stack_local (DImode, 0);
2851}")
2852
2853(define_insn ""
2827 (fix:SI (fix:XF (match_operand:XF 1 "register_operand" "f,f"))))
2828 (clobber (match_operand:HI 2 "memory_operand" "m,m"))
2829 (clobber (match_operand:HI 3 "memory_operand" "m,m"))
2830 (clobber (match_operand:SI 4 "memory_operand" "m,m"))
2831 (clobber (match_scratch:HI 5 "=&r,&r"))]
2832 "TARGET_80387"
2833 "* return output_fix_trunc (insn, operands);"
2834 [(set_attr "type" "fpop")])

--- 11 unchanged lines hidden (view full) ---

2846{
2847 operands[1] = copy_to_mode_reg (XFmode, operands[1]);
2848 operands[2] = (rtx) assign_386_stack_local (HImode, 0);
2849 operands[3] = (rtx) assign_386_stack_local (HImode, 1);
2850 operands[4] = (rtx) assign_386_stack_local (DImode, 0);
2851}")
2852
2853(define_insn ""
2854 [(set (match_operand:DI 0 "nonimmediate_operand" "=m,!r")
2854 [(set (match_operand:DI 0 "nonimmediate_operand" "=m,!&r")
2855 (fix:DI (fix:XF (match_operand:XF 1 "register_operand" "f,f"))))
2856 (clobber (match_dup 1))
2857 (clobber (match_operand:HI 2 "memory_operand" "m,m"))
2858 (clobber (match_operand:HI 3 "memory_operand" "m,m"))
2859 (clobber (match_operand:DI 4 "memory_operand" "m,o"))
2860 (clobber (match_scratch:HI 5 "=&r,&r"))]
2861 "TARGET_80387"
2862 "* return output_fix_trunc (insn, operands);"

--- 5335 unchanged lines hidden ---
2855 (fix:DI (fix:XF (match_operand:XF 1 "register_operand" "f,f"))))
2856 (clobber (match_dup 1))
2857 (clobber (match_operand:HI 2 "memory_operand" "m,m"))
2858 (clobber (match_operand:HI 3 "memory_operand" "m,m"))
2859 (clobber (match_operand:DI 4 "memory_operand" "m,o"))
2860 (clobber (match_scratch:HI 5 "=&r,&r"))]
2861 "TARGET_80387"
2862 "* return output_fix_trunc (insn, operands);"

--- 5335 unchanged lines hidden ---