Hi Jeff,

As discussed this morning, I'm sending over dumps for the optim of DF const -0.0 (PR/110748)  [1] For rv64gc_zbs build, IRA is undoing the split which eventually leads to ICE in final pass.

[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110748#c15

void znd(double *d) {  *d = -0.0;   }


*split1*

(insn 10 3 11 2 (set (reg:DI 136)
        (const_int [0x8000000000000000])) "neg.c":4:5 -1

(insn 11 10 0 2 (set (mem:DF (reg:DI 135) [1 *d_2(D)+0 S8 A64])
        (subreg:DF (reg:DI 136) 0)) "neg.c":4:5 -1

*ira*

(insn 11 9 12 2 (set (mem:DF (reg:DI 135) [1 *d_2(D)+0 S8 A64])
        (const_double:DF -0.0 [-0x0.0p+0])) "neg.c":4:5 190 {*movdf_hardfloat_rv64}
     (expr_list:REG_DEAD (reg:DI 135)


For the working case, the large const is not involved and not subject to IRA playing foul.

Attached are split1 and IRA dumps for OK (rv64gc) and NOK (rv64gc_zbs) cases.

Thx,
-Vineet
;; Function znd (znd, funcdef_no=0, decl_uid=2278, cgraph_uid=1, symbol_order=0)

Starting decreasing number of live ranges...
starting the processing of deferred insns
ending the processing of deferred insns
df_analyze called
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2
;; 2 succs { 1 }
rescanning insn with uid = 11.
deleting insn with uid = 10.
starting the processing of deferred insns
ending the processing of deferred insns
df_analyze called
df_worklist_dataflow_doublequeue: n_basic_blocks 3 n_edges 2 count 3 (    1)
Reg 135 uninteresting
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2
;; 2 succs { 1 }
Building IRA IR
starting the processing of deferred insns
ending the processing of deferred insns
df_analyze called

Pass 0 for finding pseudo/allocno costs

    a0 (r135,l0) best GR_REGS, allocno GR_REGS

  a0(r135,l0) costs: SIBCALL_REGS:2000,2000 JALR_REGS:2000,2000 
GR_REGS:2000,2000 MEM:10000,10000


Pass 1 for finding pseudo/allocno costs

    r135: preferred GR_REGS, alternative NO_REGS, allocno GR_REGS

  a0(r135,l0) costs: GR_REGS:2000,2000 MEM:10000,10000

   Insn 11(l0): point = 0
   Insn 9(l0): point = 2
 a0(r135): [1..2]
Compressing live ranges: from 5 to 2 - 40%
Ranges after the compression:
 a0(r135): [0..1]
+++Allocating 0 bytes for conflict table (uncompressed size 8)
;; a0(r135,l0) conflicts:
;;     total conflict hard regs:
;;     conflict hard regs:


  pref0:a0(r135)<-hr10@2000
  regions=1, blocks=3, points=2
    allocnos=1 (big 0), copies=0, conflicts=0, ranges=1

**** Allocnos coloring:


  Loop 0 (parent -1, header bb2, depth 0)
    bbs: 2
    all: 0r135
    modified regnos: 135
    border:
    Pressure: GR_REGS=2
    Hard reg set forest:
      0:( 1 5-63)@0
        1:( 5-31)@24000
      Allocno a0r135 of GR_REGS(28) has 27 avail. regs  5-31, node:  5-31 
(confl regs =  0-4 32-127)
      Forming thread from colorable bucket:
      Pushing a0(r135,l0)(cost 0)
      Popping a0(r135,l0)  --         assign reg 10
Disposition:
    0:r135 l0    10
New iteration of spill/restore move
+++Costs: overall -2000, reg -2000, mem 0, ld 0, st 0, move 0
+++       move loops 0, new jumps 0


znd

Dataflow summary:
;;  fully invalidated by EH      0 [zero] 3 [gp] 4 [tp] 5 [t0] 6 [t1] 7 [t2] 10 
[a0] 11 [a1] 12 [a2] 13 [a3] 14 [a4] 15 [a5] 16 [a6] 17 [a7] 28 [t3] 29 [t4] 30 
[t5] 31 [t6] 32 [ft0] 33 [ft1] 34 [ft2] 35 [ft3] 36 [ft4] 37 [ft5] 38 [ft6] 39 
[ft7] 42 [fa0] 43 [fa1] 44 [fa2] 45 [fa3] 46 [fa4] 47 [fa5] 48 [fa6] 49 [fa7] 
60 [ft8] 61 [ft9] 62 [ft10] 63 [ft11] 66 [vl] 67 [vtype] 68 [vxrm] 69 [frm] 70 
[N/A] 71 [N/A] 72 [N/A] 73 [N/A] 74 [N/A] 75 [N/A] 76 [N/A] 77 [N/A] 78 [N/A] 
79 [N/A] 80 [N/A] 81 [N/A] 82 [N/A] 83 [N/A] 84 [N/A] 85 [N/A] 86 [N/A] 87 
[N/A] 88 [N/A] 89 [N/A] 90 [N/A] 91 [N/A] 92 [N/A] 93 [N/A] 94 [N/A] 95 [N/A] 
96 [v0] 97 [v1] 98 [v2] 99 [v3] 100 [v4] 101 [v5] 102 [v6] 103 [v7] 104 [v8] 
105 [v9] 106 [v10] 107 [v11] 108 [v12] 109 [v13] 110 [v14] 111 [v15] 112 [v16] 
113 [v17] 114 [v18] 115 [v19] 116 [v20] 117 [v21] 118 [v22] 119 [v23] 120 [v24] 
121 [v25] 122 [v26] 123 [v27] 124 [v28] 125 [v29] 126 [v30] 127 [v31]
;;  hardware regs used   2 [sp] 64 [arg] 65 [frame]
;;  regular block artificial uses        2 [sp] 8 [s0] 64 [arg] 65 [frame]
;;  eh block artificial uses     2 [sp] 8 [s0] 64 [arg] 65 [frame]
;;  entry block defs     1 [ra] 2 [sp] 8 [s0] 10 [a0] 11 [a1] 12 [a2] 13 [a3] 
14 [a4] 15 [a5] 16 [a6] 17 [a7] 42 [fa0] 43 [fa1] 44 [fa2] 45 [fa3] 46 [fa4] 47 
[fa5] 48 [fa6] 49 [fa7] 64 [arg] 65 [frame]
;;  exit block uses      1 [ra] 2 [sp] 8 [s0] 65 [frame]
;;  regs ever live       10 [a0]
;;  ref usage   r1={1d,1u} r2={1d,2u} r8={1d,2u} r10={1d,1u} r11={1d} r12={1d} 
r13={1d} r14={1d} r15={1d} r16={1d} r17={1d} r42={1d} r43={1d} r44={1d} 
r45={1d} r46={1d} r47={1d} r48={1d} r49={1d} r64={1d,1u} r65={1d,2u} 
r135={1d,1u} 
;;    total ref usage 32{22d,10u,0e} in 2{2 regular + 0 call} insns.
(note 1 0 4 NOTE_INSN_DELETED)
(note 4 1 2 2 [bb 2] NOTE_INSN_BASIC_BLOCK)
(note 2 4 3 2 NOTE_INSN_DELETED)
(note 3 2 9 2 NOTE_INSN_FUNCTION_BEG)
(insn 9 3 11 2 (set (reg:DI 135)
        (reg:DI 10 a0 [ d ])) "neg.c":3:1 179 {*movdi_64bit}
     (expr_list:REG_DEAD (reg:DI 10 a0 [ d ])
        (nil)))
(insn 11 9 12 2 (set (mem:DF (reg:DI 135) [1 *d_2(D)+0 S8 A64])
        (const_double:DF -0.0 [-0x0.0p+0])) "neg.c":4:5 190 
{*movdf_hardfloat_rv64}
     (expr_list:REG_DEAD (reg:DI 135)
        (nil)))
(note 12 11 0 NOTE_INSN_DELETED)
;; Function znd (znd, funcdef_no=0, decl_uid=2278, cgraph_uid=1, symbol_order=0)

Splitting with gen_split_19 (riscv.md:2144)
scanning new insn with uid = 10.
scanning new insn with uid = 11.
deleting insn with uid = 6.
deleting insn with uid = 6.


znd

Dataflow summary:
;;  fully invalidated by EH      0 [zero] 3 [gp] 4 [tp] 5 [t0] 6 [t1] 7 [t2] 10 
[a0] 11 [a1] 12 [a2] 13 [a3] 14 [a4] 15 [a5] 16 [a6] 17 [a7] 28 [t3] 29 [t4] 30 
[t5] 31 [t6] 32 [ft0] 33 [ft1] 34 [ft2] 35 [ft3] 36 [ft4] 37 [ft5] 38 [ft6] 39 
[ft7] 42 [fa0] 43 [fa1] 44 [fa2] 45 [fa3] 46 [fa4] 47 [fa5] 48 [fa6] 49 [fa7] 
60 [ft8] 61 [ft9] 62 [ft10] 63 [ft11] 66 [vl] 67 [vtype] 68 [vxrm] 69 [frm] 70 
[N/A] 71 [N/A] 72 [N/A] 73 [N/A] 74 [N/A] 75 [N/A] 76 [N/A] 77 [N/A] 78 [N/A] 
79 [N/A] 80 [N/A] 81 [N/A] 82 [N/A] 83 [N/A] 84 [N/A] 85 [N/A] 86 [N/A] 87 
[N/A] 88 [N/A] 89 [N/A] 90 [N/A] 91 [N/A] 92 [N/A] 93 [N/A] 94 [N/A] 95 [N/A] 
96 [v0] 97 [v1] 98 [v2] 99 [v3] 100 [v4] 101 [v5] 102 [v6] 103 [v7] 104 [v8] 
105 [v9] 106 [v10] 107 [v11] 108 [v12] 109 [v13] 110 [v14] 111 [v15] 112 [v16] 
113 [v17] 114 [v18] 115 [v19] 116 [v20] 117 [v21] 118 [v22] 119 [v23] 120 [v24] 
121 [v25] 122 [v26] 123 [v27] 124 [v28] 125 [v29] 126 [v30] 127 [v31]
;;  hardware regs used   2 [sp] 64 [arg] 65 [frame]
;;  regular block artificial uses        2 [sp] 8 [s0] 64 [arg] 65 [frame]
;;  eh block artificial uses     2 [sp] 8 [s0] 64 [arg] 65 [frame]
;;  entry block defs     1 [ra] 2 [sp] 8 [s0] 10 [a0] 11 [a1] 12 [a2] 13 [a3] 
14 [a4] 15 [a5] 16 [a6] 17 [a7] 42 [fa0] 43 [fa1] 44 [fa2] 45 [fa3] 46 [fa4] 47 
[fa5] 48 [fa6] 49 [fa7] 64 [arg] 65 [frame]
;;  exit block uses      1 [ra] 2 [sp] 8 [s0] 65 [frame]
;;  regs ever live       10 [a0]
;;  ref usage   r1={1d,1u} r2={1d,2u} r8={1d,2u} r10={1d,1u} r11={1d} r12={1d} 
r13={1d} r14={1d} r15={1d} r16={1d} r17={1d} r42={1d} r43={1d} r44={1d} 
r45={1d} r46={1d} r47={1d} r48={1d} r49={1d} r64={1d,1u} r65={1d,2u} 
r135={1d,1u} r136={1d,1u} 
;;    total ref usage 34{23d,11u,0e} in 3{3 regular + 0 call} insns.
(note 1 0 4 NOTE_INSN_DELETED)
(note 4 1 9 2 [bb 2] NOTE_INSN_BASIC_BLOCK)
(insn 9 4 2 2 (set (reg:DI 135)
        (reg:DI 10 a0 [ d ])) "neg.c":3:1 -1
     (expr_list:REG_DEAD (reg:DI 10 a0 [ d ])
        (nil)))
(note 2 9 3 2 NOTE_INSN_DELETED)
(note 3 2 10 2 NOTE_INSN_FUNCTION_BEG)
(insn 10 3 11 2 (set (reg:DI 136)
        (const_int -9223372036854775808 [0x8000000000000000])) "neg.c":4:5 -1
     (nil))
(insn 11 10 0 2 (set (mem:DF (reg:DI 135) [1 *d_2(D)+0 S8 A64])
        (subreg:DF (reg:DI 136) 0)) "neg.c":4:5 -1
     (nil))
;; Function znd (znd, funcdef_no=0, decl_uid=2278, cgraph_uid=1, symbol_order=0)

Starting decreasing number of live ranges...
starting the processing of deferred insns
ending the processing of deferred insns
df_analyze called
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2
;; 2 succs { 1 }
scanning new insn with uid = 14.
verify found no changes in insn with uid = 14.
deleting insn with uid = 10.
starting the processing of deferred insns
ending the processing of deferred insns
df_analyze called
df_worklist_dataflow_doublequeue: n_basic_blocks 3 n_edges 2 count 3 (    1)
Reg 135: local to bb 2 def dominates all uses has unique first use
Reg 137 uninteresting
Reg 136 uninteresting
Found def insn 9 for 135 to be not moveable
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2
;; 2 succs { 1 }
Building IRA IR
starting the processing of deferred insns
ending the processing of deferred insns
df_analyze called
init_insns for 137: (insn_list:REG_DEP_TRUE 14 (nil))

Pass 0 for finding pseudo/allocno costs

    a2 (r137,l0) best GR_REGS, allocno GR_REGS
    a1 (r136,l0) best JALR_REGS, allocno JALR_REGS
    a0 (r135,l0) best GR_REGS, allocno GR_REGS

  a0(r135,l0) costs: SIBCALL_REGS:2000,2000 JALR_REGS:2000,2000 
GR_REGS:2000,2000 MEM:10000,10000
  a1(r136,l0) costs: SIBCALL_REGS:2000,2000 JALR_REGS:2000,2000 
GR_REGS:8000,8000 MEM:10000,10000
  a2(r137,l0) costs: SIBCALL_REGS:0,0 JALR_REGS:0,0 GR_REGS:0,0 MEM:10000,10000


Pass 1 for finding pseudo/allocno costs

    r137: preferred GR_REGS, alternative NO_REGS, allocno GR_REGS
    r136: preferred JALR_REGS, alternative GR_REGS, allocno GR_REGS
    r135: preferred GR_REGS, alternative NO_REGS, allocno GR_REGS

  a0(r135,l0) costs: GR_REGS:2000,2000 MEM:10000,10000
  a1(r136,l0) costs: JALR_REGS:4000,4000 GR_REGS:10000,10000 MEM:12000,12000
  a2(r137,l0) costs: GR_REGS:0,0 MEM:10000,10000

   Insn 12(l0): point = 0
   Insn 11(l0): point = 2
   Insn 14(l0): point = 4
   Insn 9(l0): point = 6
 a0(r135): [1..6]
 a1(r136): [1..2]
 a2(r137): [3..4]
Compressing live ranges: from 9 to 4 - 44%
Ranges after the compression:
 a0(r135): [0..3]
 a1(r136): [0..1]
 a2(r137): [2..3]
+++Allocating 24 bytes for conflict table (uncompressed size 24)
;; a0(r135,l0) conflicts: a1(r136,l0) a2(r137,l0)
;;     total conflict hard regs: 1
;;     conflict hard regs: 1

;; a1(r136,l0) conflicts: a0(r135,l0)
;;     total conflict hard regs: 1
;;     conflict hard regs: 1

;; a2(r137,l0) conflicts: a0(r135,l0)
;;     total conflict hard regs: 1
;;     conflict hard regs: 1


  cp0:a1(r136)<->a2(r137)@125:shuffle
  pref0:a0(r135)<-hr10@2000
  regions=1, blocks=3, points=4
    allocnos=3 (big 0), copies=1, conflicts=0, ranges=3

**** Allocnos coloring:


  Loop 0 (parent -1, header bb2, depth 0)
    bbs: 2
    all: 0r135 1r136 2r137
    modified regnos: 135 136 137
    border:
    Pressure: GR_REGS=3
    Hard reg set forest:
      0:( 1 5-63)@0
        1:( 5-31)@60000
      Allocno a0r135 of GR_REGS(28) has 27 avail. regs  5-31, node:  5-31 
(confl regs =  0-4 32-127)
      Allocno a1r136 of GR_REGS(28) has 27 avail. regs  5-31, node:  5-31 
(confl regs =  0-4 32-127)
      Allocno a2r137 of GR_REGS(28) has 27 avail. regs  5-31, node:  5-31 
(confl regs =  0-4 32-127)
      Forming thread from colorable bucket:
        Forming thread by copy 0:a1r136-a2r137 (freq=125):
          Result (freq=4000): a1r136(2000) a2r137(2000)
      Pushing a0(r135,l0)(cost 0)
      Pushing a2(r137,l0)(cost 0)
      Pushing a1(r136,l0)(cost 0)
      Popping a1(r136,l0)  --         assign reg 15
      Popping a2(r137,l0)  --         assign reg 15
      Popping a0(r135,l0)  --         assign reg 10
Disposition:
    0:r135 l0    10    1:r136 l0    15    2:r137 l0    15
New iteration of spill/restore move
+++Costs: overall 2000, reg 2000, mem 0, ld 0, st 0, move 0
+++       move loops 0, new jumps 0


znd

Dataflow summary:
;;  fully invalidated by EH      0 [zero] 3 [gp] 4 [tp] 5 [t0] 6 [t1] 7 [t2] 10 
[a0] 11 [a1] 12 [a2] 13 [a3] 14 [a4] 15 [a5] 16 [a6] 17 [a7] 28 [t3] 29 [t4] 30 
[t5] 31 [t6] 32 [ft0] 33 [ft1] 34 [ft2] 35 [ft3] 36 [ft4] 37 [ft5] 38 [ft6] 39 
[ft7] 42 [fa0] 43 [fa1] 44 [fa2] 45 [fa3] 46 [fa4] 47 [fa5] 48 [fa6] 49 [fa7] 
60 [ft8] 61 [ft9] 62 [ft10] 63 [ft11] 66 [vl] 67 [vtype] 68 [vxrm] 69 [frm] 70 
[N/A] 71 [N/A] 72 [N/A] 73 [N/A] 74 [N/A] 75 [N/A] 76 [N/A] 77 [N/A] 78 [N/A] 
79 [N/A] 80 [N/A] 81 [N/A] 82 [N/A] 83 [N/A] 84 [N/A] 85 [N/A] 86 [N/A] 87 
[N/A] 88 [N/A] 89 [N/A] 90 [N/A] 91 [N/A] 92 [N/A] 93 [N/A] 94 [N/A] 95 [N/A] 
96 [v0] 97 [v1] 98 [v2] 99 [v3] 100 [v4] 101 [v5] 102 [v6] 103 [v7] 104 [v8] 
105 [v9] 106 [v10] 107 [v11] 108 [v12] 109 [v13] 110 [v14] 111 [v15] 112 [v16] 
113 [v17] 114 [v18] 115 [v19] 116 [v20] 117 [v21] 118 [v22] 119 [v23] 120 [v24] 
121 [v25] 122 [v26] 123 [v27] 124 [v28] 125 [v29] 126 [v30] 127 [v31]
;;  hardware regs used   2 [sp] 64 [arg] 65 [frame]
;;  regular block artificial uses        2 [sp] 8 [s0] 64 [arg] 65 [frame]
;;  eh block artificial uses     2 [sp] 8 [s0] 64 [arg] 65 [frame]
;;  entry block defs     1 [ra] 2 [sp] 8 [s0] 10 [a0] 11 [a1] 12 [a2] 13 [a3] 
14 [a4] 15 [a5] 16 [a6] 17 [a7] 42 [fa0] 43 [fa1] 44 [fa2] 45 [fa3] 46 [fa4] 47 
[fa5] 48 [fa6] 49 [fa7] 64 [arg] 65 [frame]
;;  exit block uses      1 [ra] 2 [sp] 8 [s0] 65 [frame]
;;  regs ever live       10 [a0]
;;  ref usage   r1={1d,1u} r2={1d,2u} r8={1d,2u} r10={1d,1u} r11={1d} r12={1d} 
r13={1d} r14={1d} r15={1d} r16={1d} r17={1d} r42={1d} r43={1d} r44={1d} 
r45={1d} r46={1d} r47={1d} r48={1d} r49={1d} r64={1d,1u} r65={1d,2u} 
r135={1d,1u} r136={1d,1u} r137={1d,1u} 
;;    total ref usage 36{24d,12u,0e} in 4{4 regular + 0 call} insns.
(note 1 0 4 NOTE_INSN_DELETED)
(note 4 1 2 2 [bb 2] NOTE_INSN_BASIC_BLOCK)
(note 2 4 3 2 NOTE_INSN_DELETED)
(note 3 2 9 2 NOTE_INSN_FUNCTION_BEG)
(insn 9 3 14 2 (set (reg:DI 135)
        (reg:DI 10 a0 [ d ])) "neg.c":3:1 179 {*movdi_64bit}
     (expr_list:REG_DEAD (reg:DI 10 a0 [ d ])
        (nil)))
(insn 14 9 11 2 (set (reg:DI 137)
        (const_int -1 [0xffffffffffffffff])) "neg.c":4:5 179 {*movdi_64bit}
     (expr_list:REG_EQUIV (const_int -1 [0xffffffffffffffff])
        (nil)))
(insn 11 14 12 2 (set (reg:DI 136)
        (ashift:DI (reg:DI 137)
            (const_int 63 [0x3f]))) "neg.c":4:5 198 {ashldi3}
     (expr_list:REG_DEAD (reg:DI 137)
        (nil)))
(insn 12 11 13 2 (set (mem:DF (reg:DI 135) [1 *d_2(D)+0 S8 A64])
        (subreg:DF (reg:DI 136) 0)) "neg.c":4:5 190 {*movdf_hardfloat_rv64}
     (expr_list:REG_DEAD (reg:DI 136)
        (expr_list:REG_DEAD (reg:DI 135)
            (nil))))
(note 13 12 0 NOTE_INSN_DELETED)
;; Function znd (znd, funcdef_no=0, decl_uid=2278, cgraph_uid=1, symbol_order=0)

Splitting with gen_split_19 (riscv.md:2144)
scanning new insn with uid = 10.
scanning new insn with uid = 11.
scanning new insn with uid = 12.
deleting insn with uid = 6.
deleting insn with uid = 6.


znd

Dataflow summary:
;;  fully invalidated by EH      0 [zero] 3 [gp] 4 [tp] 5 [t0] 6 [t1] 7 [t2] 10 
[a0] 11 [a1] 12 [a2] 13 [a3] 14 [a4] 15 [a5] 16 [a6] 17 [a7] 28 [t3] 29 [t4] 30 
[t5] 31 [t6] 32 [ft0] 33 [ft1] 34 [ft2] 35 [ft3] 36 [ft4] 37 [ft5] 38 [ft6] 39 
[ft7] 42 [fa0] 43 [fa1] 44 [fa2] 45 [fa3] 46 [fa4] 47 [fa5] 48 [fa6] 49 [fa7] 
60 [ft8] 61 [ft9] 62 [ft10] 63 [ft11] 66 [vl] 67 [vtype] 68 [vxrm] 69 [frm] 70 
[N/A] 71 [N/A] 72 [N/A] 73 [N/A] 74 [N/A] 75 [N/A] 76 [N/A] 77 [N/A] 78 [N/A] 
79 [N/A] 80 [N/A] 81 [N/A] 82 [N/A] 83 [N/A] 84 [N/A] 85 [N/A] 86 [N/A] 87 
[N/A] 88 [N/A] 89 [N/A] 90 [N/A] 91 [N/A] 92 [N/A] 93 [N/A] 94 [N/A] 95 [N/A] 
96 [v0] 97 [v1] 98 [v2] 99 [v3] 100 [v4] 101 [v5] 102 [v6] 103 [v7] 104 [v8] 
105 [v9] 106 [v10] 107 [v11] 108 [v12] 109 [v13] 110 [v14] 111 [v15] 112 [v16] 
113 [v17] 114 [v18] 115 [v19] 116 [v20] 117 [v21] 118 [v22] 119 [v23] 120 [v24] 
121 [v25] 122 [v26] 123 [v27] 124 [v28] 125 [v29] 126 [v30] 127 [v31]
;;  hardware regs used   2 [sp] 64 [arg] 65 [frame]
;;  regular block artificial uses        2 [sp] 8 [s0] 64 [arg] 65 [frame]
;;  eh block artificial uses     2 [sp] 8 [s0] 64 [arg] 65 [frame]
;;  entry block defs     1 [ra] 2 [sp] 8 [s0] 10 [a0] 11 [a1] 12 [a2] 13 [a3] 
14 [a4] 15 [a5] 16 [a6] 17 [a7] 42 [fa0] 43 [fa1] 44 [fa2] 45 [fa3] 46 [fa4] 47 
[fa5] 48 [fa6] 49 [fa7] 64 [arg] 65 [frame]
;;  exit block uses      1 [ra] 2 [sp] 8 [s0] 65 [frame]
;;  regs ever live       10 [a0]
;;  ref usage   r1={1d,1u} r2={1d,2u} r8={1d,2u} r10={1d,1u} r11={1d} r12={1d} 
r13={1d} r14={1d} r15={1d} r16={1d} r17={1d} r42={1d} r43={1d} r44={1d} 
r45={1d} r46={1d} r47={1d} r48={1d} r49={1d} r64={1d,1u} r65={1d,2u} 
r135={1d,1u} r136={1d,1u} r137={1d,1u} 
;;    total ref usage 36{24d,12u,0e} in 4{4 regular + 0 call} insns.
(note 1 0 4 NOTE_INSN_DELETED)
(note 4 1 9 2 [bb 2] NOTE_INSN_BASIC_BLOCK)
(insn 9 4 2 2 (set (reg:DI 135)
        (reg:DI 10 a0 [ d ])) "neg.c":3:1 -1
     (expr_list:REG_DEAD (reg:DI 10 a0 [ d ])
        (nil)))
(note 2 9 3 2 NOTE_INSN_DELETED)
(note 3 2 10 2 NOTE_INSN_FUNCTION_BEG)
(insn 10 3 11 2 (set (reg:DI 137)
        (const_int -1 [0xffffffffffffffff])) "neg.c":4:5 -1
     (nil))
(insn 11 10 12 2 (set (reg:DI 136)
        (ashift:DI (reg:DI 137)
            (const_int 63 [0x3f]))) "neg.c":4:5 -1
     (nil))
(insn 12 11 0 2 (set (mem:DF (reg:DI 135) [1 *d_2(D)+0 S8 A64])
        (subreg:DF (reg:DI 136) 0)) "neg.c":4:5 -1
     (nil))

Reply via email to