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 --- |