@@ -329,13 +329,14 @@ define void @test_fadd(ptr %p, ptr %q) nounwind {
329
329
; V8-OPT-LABEL: test_fadd:
330
330
; V8-OPT: ! %bb.0:
331
331
; V8-OPT-NEXT: save %sp, -104, %sp
332
+ ; V8-OPT-NEXT: lduh [%i0], %i2
332
333
; V8-OPT-NEXT: call __extendhfsf2
333
- ; V8-OPT-NEXT: lduh [%i0 ], %o0
334
+ ; V8-OPT-NEXT: lduh [%i1 ], %o0
334
335
; V8-OPT-NEXT: st %f0, [%fp+-8] ! 4-byte Folded Spill
335
336
; V8-OPT-NEXT: call __extendhfsf2
336
- ; V8-OPT-NEXT: lduh [%i1] , %o0
337
+ ; V8-OPT-NEXT: mov %i2 , %o0
337
338
; V8-OPT-NEXT: ld [%fp+-8], %f1 ! 4-byte Folded Reload
338
- ; V8-OPT-NEXT: fadds %f1 , %f0 , %f0
339
+ ; V8-OPT-NEXT: fadds %f0 , %f1 , %f0
339
340
; V8-OPT-NEXT: st %f0, [%fp+-4]
340
341
; V8-OPT-NEXT: call __truncsfhf2
341
342
; V8-OPT-NEXT: ld [%fp+-4], %o0
@@ -346,13 +347,14 @@ define void @test_fadd(ptr %p, ptr %q) nounwind {
346
347
; V8-UNOPT-LABEL: test_fadd:
347
348
; V8-UNOPT: ! %bb.0:
348
349
; V8-UNOPT-NEXT: save %sp, -104, %sp
349
- ; V8-UNOPT-NEXT: call __extendhfsf2
350
- ; V8-UNOPT-NEXT: lduh [%i0], %o0
351
- ; V8-UNOPT-NEXT: st %f0, [%fp+-8] ! 4-byte Folded Spill
350
+ ; V8-UNOPT-NEXT: lduh [%i0], %i2
351
+ ; V8-UNOPT-NEXT: st %i2, [%fp+-12] ! 4-byte Folded Spill
352
352
; V8-UNOPT-NEXT: call __extendhfsf2
353
353
; V8-UNOPT-NEXT: lduh [%i1], %o0
354
- ; V8-UNOPT-NEXT: fmovs %f0, %f1
355
- ; V8-UNOPT-NEXT: ld [%fp+-8], %f0 ! 4-byte Folded Reload
354
+ ; V8-UNOPT-NEXT: ld [%fp+-12], %o0 ! 4-byte Folded Reload
355
+ ; V8-UNOPT-NEXT: call __extendhfsf2
356
+ ; V8-UNOPT-NEXT: st %f0, [%fp+-8]
357
+ ; V8-UNOPT-NEXT: ld [%fp+-8], %f1 ! 4-byte Folded Reload
356
358
; V8-UNOPT-NEXT: fadds %f0, %f1, %f0
357
359
; V8-UNOPT-NEXT: st %f0, [%fp+-4]
358
360
; V8-UNOPT-NEXT: call __truncsfhf2
@@ -364,13 +366,14 @@ define void @test_fadd(ptr %p, ptr %q) nounwind {
364
366
; V9-LABEL: test_fadd:
365
367
; V9: ! %bb.0:
366
368
; V9-NEXT: save %sp, -104, %sp
369
+ ; V9-NEXT: lduh [%i0], %i2
367
370
; V9-NEXT: call __extendhfsf2
368
- ; V9-NEXT: lduh [%i0 ], %o0
371
+ ; V9-NEXT: lduh [%i1 ], %o0
369
372
; V9-NEXT: st %f0, [%fp+-8] ! 4-byte Folded Spill
370
373
; V9-NEXT: call __extendhfsf2
371
- ; V9-NEXT: lduh [%i1] , %o0
374
+ ; V9-NEXT: mov %i2 , %o0
372
375
; V9-NEXT: ld [%fp+-8], %f1 ! 4-byte Folded Reload
373
- ; V9-NEXT: fadds %f1 , %f0 , %f0
376
+ ; V9-NEXT: fadds %f0 , %f1 , %f0
374
377
; V9-NEXT: st %f0, [%fp+-4]
375
378
; V9-NEXT: call __truncsfhf2
376
379
; V9-NEXT: ld [%fp+-4], %o0
@@ -381,14 +384,15 @@ define void @test_fadd(ptr %p, ptr %q) nounwind {
381
384
; SPARC64-LABEL: test_fadd:
382
385
; SPARC64: ! %bb.0:
383
386
; SPARC64-NEXT: save %sp, -192, %sp
387
+ ; SPARC64-NEXT: lduh [%i0], %i2
384
388
; SPARC64-NEXT: call __extendhfsf2
385
- ; SPARC64-NEXT: lduh [%i0 ], %o0
389
+ ; SPARC64-NEXT: lduh [%i1 ], %o0
386
390
; SPARC64-NEXT: st %f0, [%fp+2043] ! 4-byte Folded Spill
387
391
; SPARC64-NEXT: call __extendhfsf2
388
- ; SPARC64-NEXT: lduh [%i1] , %o0
392
+ ; SPARC64-NEXT: mov %i2 , %o0
389
393
; SPARC64-NEXT: ld [%fp+2043], %f1 ! 4-byte Folded Reload
390
394
; SPARC64-NEXT: call __truncsfhf2
391
- ; SPARC64-NEXT: fadds %f1 , %f0 , %f1
395
+ ; SPARC64-NEXT: fadds %f0 , %f1 , %f1
392
396
; SPARC64-NEXT: sth %o0, [%i0]
393
397
; SPARC64-NEXT: ret
394
398
; SPARC64-NEXT: restore
@@ -403,13 +407,14 @@ define void @test_fmul(ptr %p, ptr %q) nounwind {
403
407
; V8-OPT-LABEL: test_fmul:
404
408
; V8-OPT: ! %bb.0:
405
409
; V8-OPT-NEXT: save %sp, -104, %sp
410
+ ; V8-OPT-NEXT: lduh [%i0], %i2
406
411
; V8-OPT-NEXT: call __extendhfsf2
407
- ; V8-OPT-NEXT: lduh [%i0 ], %o0
412
+ ; V8-OPT-NEXT: lduh [%i1 ], %o0
408
413
; V8-OPT-NEXT: st %f0, [%fp+-8] ! 4-byte Folded Spill
409
414
; V8-OPT-NEXT: call __extendhfsf2
410
- ; V8-OPT-NEXT: lduh [%i1] , %o0
415
+ ; V8-OPT-NEXT: mov %i2 , %o0
411
416
; V8-OPT-NEXT: ld [%fp+-8], %f1 ! 4-byte Folded Reload
412
- ; V8-OPT-NEXT: fmuls %f1 , %f0 , %f0
417
+ ; V8-OPT-NEXT: fmuls %f0 , %f1 , %f0
413
418
; V8-OPT-NEXT: st %f0, [%fp+-4]
414
419
; V8-OPT-NEXT: call __truncsfhf2
415
420
; V8-OPT-NEXT: ld [%fp+-4], %o0
@@ -420,13 +425,14 @@ define void @test_fmul(ptr %p, ptr %q) nounwind {
420
425
; V8-UNOPT-LABEL: test_fmul:
421
426
; V8-UNOPT: ! %bb.0:
422
427
; V8-UNOPT-NEXT: save %sp, -104, %sp
423
- ; V8-UNOPT-NEXT: call __extendhfsf2
424
- ; V8-UNOPT-NEXT: lduh [%i0], %o0
425
- ; V8-UNOPT-NEXT: st %f0, [%fp+-8] ! 4-byte Folded Spill
428
+ ; V8-UNOPT-NEXT: lduh [%i0], %i2
429
+ ; V8-UNOPT-NEXT: st %i2, [%fp+-12] ! 4-byte Folded Spill
426
430
; V8-UNOPT-NEXT: call __extendhfsf2
427
431
; V8-UNOPT-NEXT: lduh [%i1], %o0
428
- ; V8-UNOPT-NEXT: fmovs %f0, %f1
429
- ; V8-UNOPT-NEXT: ld [%fp+-8], %f0 ! 4-byte Folded Reload
432
+ ; V8-UNOPT-NEXT: ld [%fp+-12], %o0 ! 4-byte Folded Reload
433
+ ; V8-UNOPT-NEXT: call __extendhfsf2
434
+ ; V8-UNOPT-NEXT: st %f0, [%fp+-8]
435
+ ; V8-UNOPT-NEXT: ld [%fp+-8], %f1 ! 4-byte Folded Reload
430
436
; V8-UNOPT-NEXT: fmuls %f0, %f1, %f0
431
437
; V8-UNOPT-NEXT: st %f0, [%fp+-4]
432
438
; V8-UNOPT-NEXT: call __truncsfhf2
@@ -438,13 +444,14 @@ define void @test_fmul(ptr %p, ptr %q) nounwind {
438
444
; V9-LABEL: test_fmul:
439
445
; V9: ! %bb.0:
440
446
; V9-NEXT: save %sp, -104, %sp
447
+ ; V9-NEXT: lduh [%i0], %i2
441
448
; V9-NEXT: call __extendhfsf2
442
- ; V9-NEXT: lduh [%i0 ], %o0
449
+ ; V9-NEXT: lduh [%i1 ], %o0
443
450
; V9-NEXT: st %f0, [%fp+-8] ! 4-byte Folded Spill
444
451
; V9-NEXT: call __extendhfsf2
445
- ; V9-NEXT: lduh [%i1] , %o0
452
+ ; V9-NEXT: mov %i2 , %o0
446
453
; V9-NEXT: ld [%fp+-8], %f1 ! 4-byte Folded Reload
447
- ; V9-NEXT: fmuls %f1 , %f0 , %f0
454
+ ; V9-NEXT: fmuls %f0 , %f1 , %f0
448
455
; V9-NEXT: st %f0, [%fp+-4]
449
456
; V9-NEXT: call __truncsfhf2
450
457
; V9-NEXT: ld [%fp+-4], %o0
@@ -455,14 +462,15 @@ define void @test_fmul(ptr %p, ptr %q) nounwind {
455
462
; SPARC64-LABEL: test_fmul:
456
463
; SPARC64: ! %bb.0:
457
464
; SPARC64-NEXT: save %sp, -192, %sp
465
+ ; SPARC64-NEXT: lduh [%i0], %i2
458
466
; SPARC64-NEXT: call __extendhfsf2
459
- ; SPARC64-NEXT: lduh [%i0 ], %o0
467
+ ; SPARC64-NEXT: lduh [%i1 ], %o0
460
468
; SPARC64-NEXT: st %f0, [%fp+2043] ! 4-byte Folded Spill
461
469
; SPARC64-NEXT: call __extendhfsf2
462
- ; SPARC64-NEXT: lduh [%i1] , %o0
470
+ ; SPARC64-NEXT: mov %i2 , %o0
463
471
; SPARC64-NEXT: ld [%fp+2043], %f1 ! 4-byte Folded Reload
464
472
; SPARC64-NEXT: call __truncsfhf2
465
- ; SPARC64-NEXT: fmuls %f1 , %f0 , %f1
473
+ ; SPARC64-NEXT: fmuls %f0 , %f1 , %f1
466
474
; SPARC64-NEXT: sth %o0, [%i0]
467
475
; SPARC64-NEXT: ret
468
476
; SPARC64-NEXT: restore
0 commit comments