https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119455

Robert Dubner <rdubner at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED

--- Comment #9 from Robert Dubner <rdubner at gcc dot gnu.org> ---
A -O0 compilation of this code:

       working-storage section.
       01  x1  pic x(1).
       01  x2  pic x(2).
       01  x3  pic x(3).
       01  x4  pic x(4).
       01  x5  pic x(5).
       01  x64 pic x(64).
       procedure division.
           continue
           move "1"     to x1
           move "12"    to x2
           move "123"   to x3
           move "1234"  to x4
           move "12345" to x5
           move "These are the first 33 characters" to x64

now generates this machine language:

  12:playpen.cbl   ****            move "1"     to x1
 466 0330 488B0500              movq    x1.73.0(%rip), %rax
 467 0337 C60031                movb    $49, (%rax)
  13:playpen.cbl   ****            move "12"    to x2
 469 033a 488B0500              movq    x2.74.0(%rip), %rax
 470 0341 66C70031              movw    $12849, (%rax)
  14:playpen.cbl   ****            move "123"   to x3
 472 0346 488B0500              movq    x3.75.0(%rip), %rax
 473 034d 66C70031              movw    $12849, (%rax)
 474 0352 C6400233              movb    $51, 2(%rax)
  15:playpen.cbl   ****            move "1234"  to x4
 476 0356 488B0500              movq    x4.76.0(%rip), %rax
 477 035d C7003132              movl    $875770417, (%rax)
  16:playpen.cbl   ****            move "12345" to x5
 479 0363 488B0500              movq    x5.77.0(%rip), %rax
 480 036a C7003132              movl    $875770417, (%rax)
 481 0370 C6400435              movb    $53, 4(%rax)
  17:playpen.cbl   ****            move "These are the first 33 characters" to
x64
 483 0374 488B0500              movq    x64.78.0(%rip), %rax
 484 037b 48B95468              movabsq $8241904413164529748, %rcx
 485 0385 48BB6520              movabsq $7594793441523146853, %rbx
 486 038f 488908                movq    %rcx, (%rax)
 487 0392 48895808              movq    %rbx, 8(%rax)
 488 0396 48B97273              movabsq $7142765303690457970, %rcx
 489 03a0 48BB6861              movabsq $8243122663157031272, %rbx
 490 03aa 48894810              movq    %rcx, 16(%rax)
 491 03ae 48895818              movq    %rbx, 24(%rax)
 492 03b2 48B97320              movabsq $2314885530818453619, %rcx
 493 03bc 48BB2020              movabsq $2314885530818453536, %rbx
 494 03c6 48894820              movq    %rcx, 32(%rax)
 495 03ca 48895828              movq    %rbx, 40(%rax)
 496 03ce 48B92020              movabsq $2314885530818453536, %rcx
 497 03d8 4889CB                movq    %rcx, %rbx
 498 03db 48894830              movq    %rcx, 48(%rax)
 499 03df 48895838              movq    %rbx, 56(%rax)
  18:playpen.cbl   ****            goback.

I am declaring victory and moving on.

Reply via email to