Deleted Added
full compact
ia64.md (119256) ia64.md (122180)
1;; IA-64 Machine description template
2;; Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
3;; Contributed by James E. Wilson <wilson@cygnus.com> and
4;; David Mosberger <davidm@hpl.hp.com>.
5
6;; This file is part of GNU CC.
7
8;; GNU CC is free software; you can redistribute it and/or modify

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

68 (UNSPEC_MF 18)
69 (UNSPEC_CMPXCHG_ACQ 19)
70 (UNSPEC_FETCHADD_ACQ 20)
71 (UNSPEC_BSP_VALUE 21)
72 (UNSPEC_FLUSHRS 22)
73 (UNSPEC_BUNDLE_SELECTOR 23)
74 (UNSPEC_ADDP4 24)
75 (UNSPEC_PROLOGUE_USE 25)
1;; IA-64 Machine description template
2;; Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
3;; Contributed by James E. Wilson <wilson@cygnus.com> and
4;; David Mosberger <davidm@hpl.hp.com>.
5
6;; This file is part of GNU CC.
7
8;; GNU CC is free software; you can redistribute it and/or modify

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

68 (UNSPEC_MF 18)
69 (UNSPEC_CMPXCHG_ACQ 19)
70 (UNSPEC_FETCHADD_ACQ 20)
71 (UNSPEC_BSP_VALUE 21)
72 (UNSPEC_FLUSHRS 22)
73 (UNSPEC_BUNDLE_SELECTOR 23)
74 (UNSPEC_ADDP4 24)
75 (UNSPEC_PROLOGUE_USE 25)
76 (UNSPEC_RET_ADDR 26)
76 ])
77
78(define_constants
79 [(UNSPECV_ALLOC 0)
80 (UNSPECV_BLOCKAGE 1)
81 (UNSPECV_INSN_GROUP_BARRIER 2)
82 (UNSPECV_BREAK 3)
83 (UNSPECV_SET_BSP 4)

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

411{
412 rtx scratch = operands[2];
413 if (!reload_completed)
414 scratch = gen_reg_rtx (Pmode);
415 ia64_expand_load_address (operands[0], operands[1], scratch);
416 DONE;
417})
418
77 ])
78
79(define_constants
80 [(UNSPECV_ALLOC 0)
81 (UNSPECV_BLOCKAGE 1)
82 (UNSPECV_INSN_GROUP_BARRIER 2)
83 (UNSPECV_BREAK 3)
84 (UNSPECV_SET_BSP 4)

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

412{
413 rtx scratch = operands[2];
414 if (!reload_completed)
415 scratch = gen_reg_rtx (Pmode);
416 ia64_expand_load_address (operands[0], operands[1], scratch);
417 DONE;
418})
419
420;; This is used as a placeholder for the return address during early
421;; compilation. We won't know where we've placed this until during
422;; reload, at which point it can wind up in b0, a general register,
423;; or memory. The only safe destination under these conditions is a
424;; general register.
425
426(define_insn_and_split "*movdi_ret_addr"
427 [(set (match_operand:DI 0 "register_operand" "=r")
428 (unspec:DI [(const_int 0)] UNSPEC_RET_ADDR))]
429 ""
430 "#"
431 "reload_completed"
432 [(const_int 0)]
433{
434 ia64_split_return_addr_rtx (operands[0]);
435 DONE;
436}
437 [(set_attr "itanium_class" "ialu")])
438
419(define_insn "*movdi_internal"
420 [(set (match_operand:DI 0 "destination_operand"
421 "=r,r,r,r, m, r,*f,*f,*f, Q, r,*b, r,*e, r,*d, r,*c")
422 (match_operand:DI 1 "move_operand"
423 "rO,J,i,m,rO,*f,rO,*f, Q,*f,*b,rO,*e,rK,*d,rK,*c,rO"))]
424 "ia64_move_ok (operands[0], operands[1])"
425{
426 static const char * const alt[] = {

--- 5110 unchanged lines hidden ---
439(define_insn "*movdi_internal"
440 [(set (match_operand:DI 0 "destination_operand"
441 "=r,r,r,r, m, r,*f,*f,*f, Q, r,*b, r,*e, r,*d, r,*c")
442 (match_operand:DI 1 "move_operand"
443 "rO,J,i,m,rO,*f,rO,*f, Q,*f,*b,rO,*e,rK,*d,rK,*c,rO"))]
444 "ia64_move_ok (operands[0], operands[1])"
445{
446 static const char * const alt[] = {

--- 5110 unchanged lines hidden ---