Lines Matching refs:s

20   Stream s = m.Build();  in TEST_F()  local
21 ASSERT_EQ(1U, s.size()); in TEST_F()
22 EXPECT_EQ(kSSEFloat32ToFloat64, s[0]->arch_opcode()); in TEST_F()
23 EXPECT_EQ(1U, s[0]->InputCount()); in TEST_F()
24 EXPECT_EQ(1U, s[0]->OutputCount()); in TEST_F()
31 Stream s = m.Build(); in TEST_F() local
32 ASSERT_EQ(1U, s.size()); in TEST_F()
33 EXPECT_EQ(kX64Movsxlq, s[0]->arch_opcode()); in TEST_F()
40 Stream s = m.Build(); in TEST_F() local
41 ASSERT_EQ(1U, s.size()); in TEST_F()
42 EXPECT_EQ(kSSEUint32ToFloat64, s[0]->arch_opcode()); in TEST_F()
49 Stream s = m.Build(); in TEST_F() local
50 ASSERT_EQ(1U, s.size()); in TEST_F()
51 EXPECT_EQ(kX64Movl, s[0]->arch_opcode()); in TEST_F()
58 Stream s = m.Build(); in TEST_F() local
59 ASSERT_EQ(1U, s.size()); in TEST_F()
60 EXPECT_EQ(kSSEFloat64ToFloat32, s[0]->arch_opcode()); in TEST_F()
61 EXPECT_EQ(1U, s[0]->InputCount()); in TEST_F()
62 EXPECT_EQ(1U, s[0]->OutputCount()); in TEST_F()
69 Stream s = m.Build(); in TEST_F() local
70 ASSERT_EQ(1U, s.size()); in TEST_F()
71 EXPECT_EQ(kX64Movl, s[0]->arch_opcode()); in TEST_F()
117 Stream s = m.Build(); in TEST_P() local
118 ASSERT_EQ(1U, s.size()); in TEST_P()
119 EXPECT_EQ(memacc.load_opcode, s[0]->arch_opcode()); in TEST_P()
120 EXPECT_EQ(2U, s[0]->InputCount()); in TEST_P()
121 EXPECT_EQ(1U, s[0]->OutputCount()); in TEST_P()
132 Stream s = m.Build(); in TEST_P() local
133 ASSERT_EQ(1U, s.size()); in TEST_P()
134 EXPECT_EQ(memacc.store_opcode, s[0]->arch_opcode()); in TEST_P()
135 EXPECT_EQ(3U, s[0]->InputCount()); in TEST_P()
136 EXPECT_EQ(0U, s[0]->OutputCount()); in TEST_P()
201 Stream s = m.Build(); in TEST_P() local
202 ASSERT_EQ(1U, s.size()); in TEST_P()
220 Stream s = m.Build(); in TEST_F() local
221 ASSERT_EQ(1U, s.size()); in TEST_F()
222 EXPECT_EQ(kX64Shr, s[0]->arch_opcode()); in TEST_F()
223 ASSERT_EQ(2U, s[0]->InputCount()); in TEST_F()
224 EXPECT_EQ(s.ToVreg(p), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
225 EXPECT_EQ(32, s.ToInt32(s[0]->InputAt(1))); in TEST_F()
226 ASSERT_EQ(1U, s[0]->OutputCount()); in TEST_F()
227 EXPECT_TRUE(s.IsSameAsFirst(s[0]->OutputAt(0))); in TEST_F()
228 EXPECT_EQ(s.ToVreg(t), s.ToVreg(s[0]->OutputAt(0))); in TEST_F()
237 Stream s = m.Build(); in TEST_F() local
238 ASSERT_EQ(1U, s.size()); in TEST_F()
239 EXPECT_EQ(kX64Shr, s[0]->arch_opcode()); in TEST_F()
240 ASSERT_EQ(2U, s[0]->InputCount()); in TEST_F()
241 EXPECT_EQ(s.ToVreg(p), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
242 EXPECT_EQ(32, s.ToInt32(s[0]->InputAt(1))); in TEST_F()
243 ASSERT_EQ(1U, s[0]->OutputCount()); in TEST_F()
244 EXPECT_TRUE(s.IsSameAsFirst(s[0]->OutputAt(0))); in TEST_F()
245 EXPECT_EQ(s.ToVreg(t), s.ToVreg(s[0]->OutputAt(0))); in TEST_F()
262 Stream s = m.Build(); in TEST_F() local
263 ASSERT_EQ(3U, s.size()); in TEST_F()
264 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
265 ASSERT_EQ(2U, s[0]->InputCount()); in TEST_F()
266 EXPECT_EQ(s.ToVreg(p1), s.ToVreg(s[0]->InputAt(1))); in TEST_F()
267 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
283 Stream s = m.Build(); in TEST_F() local
284 ASSERT_EQ(1U, s.size()); in TEST_F()
285 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
286 EXPECT_EQ(kMode_MRI, s[0]->addressing_mode()); in TEST_F()
287 ASSERT_EQ(2U, s[0]->InputCount()); in TEST_F()
288 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
289 EXPECT_TRUE(s[0]->InputAt(1)->IsImmediate()); in TEST_F()
301 Stream s = m.Build(); in TEST_F() local
302 ASSERT_EQ(1U, s.size()); in TEST_F()
303 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
304 EXPECT_EQ(kMode_MRI, s[0]->addressing_mode()); in TEST_F()
305 ASSERT_EQ(2U, s[0]->InputCount()); in TEST_F()
306 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
307 EXPECT_TRUE(s[0]->InputAt(1)->IsImmediate()); in TEST_F()
318 Stream s = m.Build(); in TEST_F() local
319 ASSERT_EQ(2U, s.size()); in TEST_F()
320 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
321 EXPECT_EQ(kMode_MRI, s[0]->addressing_mode()); in TEST_F()
322 ASSERT_EQ(2U, s[0]->InputCount()); in TEST_F()
323 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
324 EXPECT_TRUE(s[0]->InputAt(1)->IsImmediate()); in TEST_F()
339 Stream s = m.Build(); in TEST_F() local
340 ASSERT_EQ(1U, s.size()); in TEST_F()
341 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
342 EXPECT_EQ(kMode_MRI, s[0]->addressing_mode()); in TEST_F()
343 ASSERT_EQ(2U, s[0]->InputCount()); in TEST_F()
344 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
345 EXPECT_TRUE(s[0]->InputAt(1)->IsImmediate()); in TEST_F()
357 Stream s = m.Build(); in TEST_F() local
358 ASSERT_EQ(2U, s.size()); in TEST_F()
359 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
360 EXPECT_EQ(kMode_MRI, s[0]->addressing_mode()); in TEST_F()
361 ASSERT_EQ(2U, s[0]->InputCount()); in TEST_F()
362 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
363 EXPECT_TRUE(s[0]->InputAt(1)->IsImmediate()); in TEST_F()
379 Stream s = m.Build(); in TEST_F() local
380 ASSERT_EQ(1U, s.size()); in TEST_F()
381 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
382 EXPECT_EQ(kMode_MR1, s[0]->addressing_mode()); in TEST_F()
383 ASSERT_EQ(2U, s[0]->InputCount()); in TEST_F()
384 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
385 EXPECT_EQ(s.ToVreg(p1), s.ToVreg(s[0]->InputAt(1))); in TEST_F()
397 Stream s = m.Build(); in TEST_F() local
398 ASSERT_EQ(3U, s.size()); in TEST_F()
399 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
400 EXPECT_EQ(kMode_MR1, s[0]->addressing_mode()); in TEST_F()
401 ASSERT_EQ(2U, s[0]->InputCount()); in TEST_F()
402 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
403 EXPECT_EQ(s.ToVreg(p1), s.ToVreg(s[0]->InputAt(1))); in TEST_F()
414 Stream s = m.Build(); in TEST_F() local
415 ASSERT_EQ(1U, s.size()); in TEST_F()
416 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
417 EXPECT_EQ(kMode_MR2, s[0]->addressing_mode()); in TEST_F()
418 ASSERT_EQ(2U, s[0]->InputCount()); in TEST_F()
419 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
420 EXPECT_EQ(s.ToVreg(p1), s.ToVreg(s[0]->InputAt(1))); in TEST_F()
431 Stream s = m.Build(); in TEST_F() local
432 ASSERT_EQ(1U, s.size()); in TEST_F()
433 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
434 EXPECT_EQ(kMode_MR2, s[0]->addressing_mode()); in TEST_F()
435 ASSERT_EQ(2U, s[0]->InputCount()); in TEST_F()
436 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
437 EXPECT_EQ(s.ToVreg(p1), s.ToVreg(s[0]->InputAt(1))); in TEST_F()
448 Stream s = m.Build(); in TEST_F() local
449 ASSERT_EQ(1U, s.size()); in TEST_F()
450 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
451 EXPECT_EQ(kMode_MR2, s[0]->addressing_mode()); in TEST_F()
452 ASSERT_EQ(2U, s[0]->InputCount()); in TEST_F()
453 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
454 EXPECT_EQ(s.ToVreg(p1), s.ToVreg(s[0]->InputAt(1))); in TEST_F()
465 Stream s = m.Build(); in TEST_F() local
466 ASSERT_EQ(1U, s.size()); in TEST_F()
467 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
468 EXPECT_EQ(kMode_MR2, s[0]->addressing_mode()); in TEST_F()
469 ASSERT_EQ(2U, s[0]->InputCount()); in TEST_F()
470 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
471 EXPECT_EQ(s.ToVreg(p1), s.ToVreg(s[0]->InputAt(1))); in TEST_F()
482 Stream s = m.Build(); in TEST_F() local
483 ASSERT_EQ(1U, s.size()); in TEST_F()
484 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
485 EXPECT_EQ(kMode_MR4, s[0]->addressing_mode()); in TEST_F()
486 ASSERT_EQ(2U, s[0]->InputCount()); in TEST_F()
487 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
488 EXPECT_EQ(s.ToVreg(p1), s.ToVreg(s[0]->InputAt(1))); in TEST_F()
499 Stream s = m.Build(); in TEST_F() local
500 ASSERT_EQ(1U, s.size()); in TEST_F()
501 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
502 EXPECT_EQ(kMode_MR4, s[0]->addressing_mode()); in TEST_F()
503 ASSERT_EQ(2U, s[0]->InputCount()); in TEST_F()
504 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
505 EXPECT_EQ(s.ToVreg(p1), s.ToVreg(s[0]->InputAt(1))); in TEST_F()
516 Stream s = m.Build(); in TEST_F() local
517 ASSERT_EQ(1U, s.size()); in TEST_F()
518 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
519 EXPECT_EQ(kMode_MR8, s[0]->addressing_mode()); in TEST_F()
520 ASSERT_EQ(2U, s[0]->InputCount()); in TEST_F()
521 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
522 EXPECT_EQ(s.ToVreg(p1), s.ToVreg(s[0]->InputAt(1))); in TEST_F()
533 Stream s = m.Build(); in TEST_F() local
534 ASSERT_EQ(1U, s.size()); in TEST_F()
535 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
536 EXPECT_EQ(kMode_MR8, s[0]->addressing_mode()); in TEST_F()
537 ASSERT_EQ(2U, s[0]->InputCount()); in TEST_F()
538 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
539 EXPECT_EQ(s.ToVreg(p1), s.ToVreg(s[0]->InputAt(1))); in TEST_F()
551 Stream s = m.Build(); in TEST_F() local
552 ASSERT_EQ(1U, s.size()); in TEST_F()
553 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
554 EXPECT_EQ(kMode_MR2I, s[0]->addressing_mode()); in TEST_F()
555 ASSERT_EQ(3U, s[0]->InputCount()); in TEST_F()
556 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
557 EXPECT_EQ(s.ToVreg(p1), s.ToVreg(s[0]->InputAt(1))); in TEST_F()
558 EXPECT_TRUE(s[0]->InputAt(2)->IsImmediate()); in TEST_F()
570 Stream s = m.Build(); in TEST_F() local
571 ASSERT_EQ(1U, s.size()); in TEST_F()
572 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
573 EXPECT_EQ(kMode_MR2I, s[0]->addressing_mode()); in TEST_F()
574 ASSERT_EQ(3U, s[0]->InputCount()); in TEST_F()
575 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
576 EXPECT_EQ(s.ToVreg(p1), s.ToVreg(s[0]->InputAt(1))); in TEST_F()
577 EXPECT_TRUE(s[0]->InputAt(2)->IsImmediate()); in TEST_F()
589 Stream s = m.Build(); in TEST_F() local
590 ASSERT_EQ(1U, s.size()); in TEST_F()
591 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
592 EXPECT_EQ(kMode_MR2I, s[0]->addressing_mode()); in TEST_F()
593 ASSERT_EQ(3U, s[0]->InputCount()); in TEST_F()
594 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
595 EXPECT_EQ(s.ToVreg(p1), s.ToVreg(s[0]->InputAt(1))); in TEST_F()
596 EXPECT_TRUE(s[0]->InputAt(2)->IsImmediate()); in TEST_F()
608 Stream s = m.Build(); in TEST_F() local
609 ASSERT_EQ(1U, s.size()); in TEST_F()
610 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
611 EXPECT_EQ(kMode_MR2I, s[0]->addressing_mode()); in TEST_F()
612 ASSERT_EQ(3U, s[0]->InputCount()); in TEST_F()
613 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
614 EXPECT_EQ(s.ToVreg(p1), s.ToVreg(s[0]->InputAt(1))); in TEST_F()
615 EXPECT_TRUE(s[0]->InputAt(2)->IsImmediate()); in TEST_F()
627 Stream s = m.Build(); in TEST_F() local
628 ASSERT_EQ(1U, s.size()); in TEST_F()
629 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
630 EXPECT_EQ(kMode_MR2I, s[0]->addressing_mode()); in TEST_F()
631 ASSERT_EQ(3U, s[0]->InputCount()); in TEST_F()
632 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
633 EXPECT_EQ(s.ToVreg(p1), s.ToVreg(s[0]->InputAt(1))); in TEST_F()
634 EXPECT_TRUE(s[0]->InputAt(2)->IsImmediate()); in TEST_F()
646 Stream s = m.Build(); in TEST_F() local
647 ASSERT_EQ(1U, s.size()); in TEST_F()
648 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
649 EXPECT_EQ(kMode_MR2I, s[0]->addressing_mode()); in TEST_F()
650 ASSERT_EQ(3U, s[0]->InputCount()); in TEST_F()
651 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
652 EXPECT_EQ(s.ToVreg(p1), s.ToVreg(s[0]->InputAt(1))); in TEST_F()
653 EXPECT_TRUE(s[0]->InputAt(2)->IsImmediate()); in TEST_F()
665 Stream s = m.Build(); in TEST_F() local
666 ASSERT_EQ(1U, s.size()); in TEST_F()
667 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
668 EXPECT_EQ(kMode_MR2I, s[0]->addressing_mode()); in TEST_F()
669 ASSERT_EQ(3U, s[0]->InputCount()); in TEST_F()
670 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
671 EXPECT_EQ(s.ToVreg(p1), s.ToVreg(s[0]->InputAt(1))); in TEST_F()
672 EXPECT_TRUE(s[0]->InputAt(2)->IsImmediate()); in TEST_F()
684 Stream s = m.Build(); in TEST_F() local
685 ASSERT_EQ(1U, s.size()); in TEST_F()
686 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
687 EXPECT_EQ(kMode_MR4I, s[0]->addressing_mode()); in TEST_F()
688 ASSERT_EQ(3U, s[0]->InputCount()); in TEST_F()
689 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
690 EXPECT_EQ(s.ToVreg(p1), s.ToVreg(s[0]->InputAt(1))); in TEST_F()
691 EXPECT_TRUE(s[0]->InputAt(2)->IsImmediate()); in TEST_F()
703 Stream s = m.Build(); in TEST_F() local
704 ASSERT_EQ(1U, s.size()); in TEST_F()
705 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
706 EXPECT_EQ(kMode_MR4I, s[0]->addressing_mode()); in TEST_F()
707 ASSERT_EQ(3U, s[0]->InputCount()); in TEST_F()
708 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
709 EXPECT_EQ(s.ToVreg(p1), s.ToVreg(s[0]->InputAt(1))); in TEST_F()
710 EXPECT_TRUE(s[0]->InputAt(2)->IsImmediate()); in TEST_F()
722 Stream s = m.Build(); in TEST_F() local
723 ASSERT_EQ(1U, s.size()); in TEST_F()
724 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
725 EXPECT_EQ(kMode_MR8I, s[0]->addressing_mode()); in TEST_F()
726 ASSERT_EQ(3U, s[0]->InputCount()); in TEST_F()
727 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
728 EXPECT_EQ(s.ToVreg(p1), s.ToVreg(s[0]->InputAt(1))); in TEST_F()
729 EXPECT_TRUE(s[0]->InputAt(2)->IsImmediate()); in TEST_F()
741 Stream s = m.Build(); in TEST_F() local
742 ASSERT_EQ(1U, s.size()); in TEST_F()
743 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
744 EXPECT_EQ(kMode_MR8I, s[0]->addressing_mode()); in TEST_F()
745 ASSERT_EQ(3U, s[0]->InputCount()); in TEST_F()
746 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
747 EXPECT_EQ(s.ToVreg(p1), s.ToVreg(s[0]->InputAt(1))); in TEST_F()
748 EXPECT_TRUE(s[0]->InputAt(2)->IsImmediate()); in TEST_F()
759 Stream s = m.Build(); in TEST_F() local
760 ASSERT_EQ(1U, s.size()); in TEST_F()
761 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
762 EXPECT_EQ(kMode_MRI, s[0]->addressing_mode()); in TEST_F()
763 ASSERT_EQ(2U, s[0]->InputCount()); in TEST_F()
764 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
765 EXPECT_TRUE(s[0]->InputAt(1)->IsImmediate()); in TEST_F()
777 Stream s = m.Build(); in TEST_F() local
778 ASSERT_EQ(2U, s.size()); in TEST_F()
779 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
780 EXPECT_EQ(kMode_MRI, s[0]->addressing_mode()); in TEST_F()
781 ASSERT_EQ(2U, s[0]->InputCount()); in TEST_F()
782 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
783 EXPECT_TRUE(s[0]->InputAt(1)->IsImmediate()); in TEST_F()
797 Stream s = m.Build(); in TEST_F() local
798 ASSERT_EQ(2U, s.size()); in TEST_F()
799 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
800 EXPECT_EQ(kMode_MR2, s[0]->addressing_mode()); in TEST_F()
801 ASSERT_EQ(2U, s[0]->InputCount()); in TEST_F()
802 EXPECT_EQ(s.ToVreg(p2), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
803 EXPECT_EQ(s.ToVreg(p1), s.ToVreg(s[0]->InputAt(1))); in TEST_F()
804 EXPECT_EQ(s.ToVreg(a0), s.ToVreg(s[0]->OutputAt(0))); in TEST_F()
805 ASSERT_EQ(2U, s[1]->InputCount()); in TEST_F()
806 EXPECT_EQ(kX64Lea32, s[1]->arch_opcode()); in TEST_F()
807 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[1]->InputAt(0))); in TEST_F()
808 EXPECT_EQ(s.ToVreg(a0), s.ToVreg(s[1]->InputAt(1))); in TEST_F()
809 EXPECT_EQ(s.ToVreg(a1), s.ToVreg(s[1]->OutputAt(0))); in TEST_F()
824 Stream s = m.Build(); in TEST_F() local
825 ASSERT_EQ(2U, s.size()); in TEST_F()
826 EXPECT_EQ(kX64Imul32, s[0]->arch_opcode()); in TEST_F()
827 ASSERT_EQ(2U, s[0]->InputCount()); in TEST_F()
828 EXPECT_EQ(s.ToVreg(p1), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
829 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(1))); in TEST_F()
830 ASSERT_EQ(1U, s[0]->OutputCount()); in TEST_F()
831 EXPECT_EQ(s.ToVreg(m0), s.ToVreg(s[0]->OutputAt(0))); in TEST_F()
832 EXPECT_EQ(kX64Imul32, s[1]->arch_opcode()); in TEST_F()
833 ASSERT_EQ(2U, s[1]->InputCount()); in TEST_F()
834 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[1]->InputAt(0))); in TEST_F()
835 EXPECT_EQ(s.ToVreg(m0), s.ToVreg(s[1]->InputAt(1))); in TEST_F()
846 Stream s = m.Build(); in TEST_F() local
847 ASSERT_EQ(1U, s.size()); in TEST_F()
848 EXPECT_EQ(kX64ImulHigh32, s[0]->arch_opcode()); in TEST_F()
849 ASSERT_EQ(2U, s[0]->InputCount()); in TEST_F()
850 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
851 EXPECT_TRUE(s.IsFixed(s[0]->InputAt(0), rax)); in TEST_F()
852 EXPECT_EQ(s.ToVreg(p1), s.ToVreg(s[0]->InputAt(1))); in TEST_F()
853 EXPECT_TRUE(!s.IsUsedAtStart(s[0]->InputAt(1))); in TEST_F()
854 ASSERT_LE(1U, s[0]->OutputCount()); in TEST_F()
855 EXPECT_EQ(s.ToVreg(n), s.ToVreg(s[0]->Output())); in TEST_F()
856 EXPECT_TRUE(s.IsFixed(s[0]->OutputAt(0), rdx)); in TEST_F()
867 Stream s = m.Build(); in TEST_F() local
868 ASSERT_EQ(1U, s.size()); in TEST_F()
869 EXPECT_EQ(kX64UmulHigh32, s[0]->arch_opcode()); in TEST_F()
870 ASSERT_EQ(2U, s[0]->InputCount()); in TEST_F()
871 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
872 EXPECT_TRUE(s.IsFixed(s[0]->InputAt(0), rax)); in TEST_F()
873 EXPECT_EQ(s.ToVreg(p1), s.ToVreg(s[0]->InputAt(1))); in TEST_F()
874 EXPECT_TRUE(!s.IsUsedAtStart(s[0]->InputAt(1))); in TEST_F()
875 ASSERT_LE(1U, s[0]->OutputCount()); in TEST_F()
876 EXPECT_EQ(s.ToVreg(n), s.ToVreg(s[0]->Output())); in TEST_F()
877 EXPECT_TRUE(s.IsFixed(s[0]->OutputAt(0), rdx)); in TEST_F()
888 Stream s = m.Build(); in TEST_F() local
889 ASSERT_EQ(1U, s.size()); in TEST_F()
890 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
891 EXPECT_EQ(kMode_MR1, s[0]->addressing_mode()); in TEST_F()
892 ASSERT_EQ(2U, s[0]->InputCount()); in TEST_F()
893 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
894 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(1))); in TEST_F()
905 Stream s = m.Build(); in TEST_F() local
906 ASSERT_EQ(1U, s.size()); in TEST_F()
907 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
908 EXPECT_EQ(kMode_MR2, s[0]->addressing_mode()); in TEST_F()
909 ASSERT_EQ(2U, s[0]->InputCount()); in TEST_F()
910 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
911 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(1))); in TEST_F()
922 Stream s = m.Build(); in TEST_F() local
923 ASSERT_EQ(1U, s.size()); in TEST_F()
924 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
925 EXPECT_EQ(kMode_M4, s[0]->addressing_mode()); in TEST_F()
926 ASSERT_EQ(1U, s[0]->InputCount()); in TEST_F()
927 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
938 Stream s = m.Build(); in TEST_F() local
939 ASSERT_EQ(1U, s.size()); in TEST_F()
940 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
941 EXPECT_EQ(kMode_MR4, s[0]->addressing_mode()); in TEST_F()
942 ASSERT_EQ(2U, s[0]->InputCount()); in TEST_F()
943 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
944 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(1))); in TEST_F()
955 Stream s = m.Build(); in TEST_F() local
956 ASSERT_EQ(1U, s.size()); in TEST_F()
957 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
958 EXPECT_EQ(kMode_M8, s[0]->addressing_mode()); in TEST_F()
959 ASSERT_EQ(1U, s[0]->InputCount()); in TEST_F()
960 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
971 Stream s = m.Build(); in TEST_F() local
972 ASSERT_EQ(1U, s.size()); in TEST_F()
973 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
974 EXPECT_EQ(kMode_MR8, s[0]->addressing_mode()); in TEST_F()
975 ASSERT_EQ(2U, s[0]->InputCount()); in TEST_F()
976 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
977 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(1))); in TEST_F()
992 Stream s = m.Build(); in TEST_F() local
993 ASSERT_EQ(1U, s.size()); in TEST_F()
994 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
995 EXPECT_EQ(kMode_MR1, s[0]->addressing_mode()); in TEST_F()
996 ASSERT_EQ(2U, s[0]->InputCount()); in TEST_F()
997 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
998 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(1))); in TEST_F()
1009 Stream s = m.Build(); in TEST_F() local
1010 ASSERT_EQ(1U, s.size()); in TEST_F()
1011 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
1012 EXPECT_EQ(kMode_M4, s[0]->addressing_mode()); in TEST_F()
1013 ASSERT_EQ(1U, s[0]->InputCount()); in TEST_F()
1014 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
1025 Stream s = m.Build(); in TEST_F() local
1026 ASSERT_EQ(1U, s.size()); in TEST_F()
1027 EXPECT_EQ(kX64Lea32, s[0]->arch_opcode()); in TEST_F()
1028 EXPECT_EQ(kMode_M8, s[0]->addressing_mode()); in TEST_F()
1029 ASSERT_EQ(1U, s[0]->InputCount()); in TEST_F()
1030 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
1044 Stream s = m.Build(); in TEST_F() local
1045 ASSERT_EQ(1U, s.size()); in TEST_F()
1046 EXPECT_EQ(kSSEFloat32Abs, s[0]->arch_opcode()); in TEST_F()
1047 ASSERT_EQ(1U, s[0]->InputCount()); in TEST_F()
1048 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
1049 ASSERT_EQ(1U, s[0]->OutputCount()); in TEST_F()
1050 EXPECT_TRUE(s.IsSameAsFirst(s[0]->Output())); in TEST_F()
1051 EXPECT_EQ(s.ToVreg(n), s.ToVreg(s[0]->Output())); in TEST_F()
1052 EXPECT_EQ(kFlags_none, s[0]->flags_mode()); in TEST_F()
1059 Stream s = m.Build(AVX); in TEST_F() local
1060 ASSERT_EQ(1U, s.size()); in TEST_F()
1061 EXPECT_EQ(kAVXFloat32Abs, s[0]->arch_opcode()); in TEST_F()
1062 ASSERT_EQ(1U, s[0]->InputCount()); in TEST_F()
1063 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
1064 ASSERT_EQ(1U, s[0]->OutputCount()); in TEST_F()
1065 EXPECT_EQ(s.ToVreg(n), s.ToVreg(s[0]->Output())); in TEST_F()
1066 EXPECT_EQ(kFlags_none, s[0]->flags_mode()); in TEST_F()
1077 Stream s = m.Build(); in TEST_F() local
1078 ASSERT_EQ(1U, s.size()); in TEST_F()
1079 EXPECT_EQ(kSSEFloat64Abs, s[0]->arch_opcode()); in TEST_F()
1080 ASSERT_EQ(1U, s[0]->InputCount()); in TEST_F()
1081 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
1082 ASSERT_EQ(1U, s[0]->OutputCount()); in TEST_F()
1083 EXPECT_TRUE(s.IsSameAsFirst(s[0]->Output())); in TEST_F()
1084 EXPECT_EQ(s.ToVreg(n), s.ToVreg(s[0]->Output())); in TEST_F()
1085 EXPECT_EQ(kFlags_none, s[0]->flags_mode()); in TEST_F()
1092 Stream s = m.Build(AVX); in TEST_F() local
1093 ASSERT_EQ(1U, s.size()); in TEST_F()
1094 EXPECT_EQ(kAVXFloat64Abs, s[0]->arch_opcode()); in TEST_F()
1095 ASSERT_EQ(1U, s[0]->InputCount()); in TEST_F()
1096 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
1097 ASSERT_EQ(1U, s[0]->OutputCount()); in TEST_F()
1098 EXPECT_EQ(s.ToVreg(n), s.ToVreg(s[0]->Output())); in TEST_F()
1099 EXPECT_EQ(kFlags_none, s[0]->flags_mode()); in TEST_F()
1113 Stream s = m.Build(AVX); in TEST_F() local
1114 ASSERT_EQ(4U, s.size()); in TEST_F()
1115 EXPECT_EQ(kAVXFloat64Add, s[0]->arch_opcode()); in TEST_F()
1116 EXPECT_EQ(kAVXFloat64Mul, s[1]->arch_opcode()); in TEST_F()
1117 EXPECT_EQ(kAVXFloat64Sub, s[2]->arch_opcode()); in TEST_F()
1118 EXPECT_EQ(kAVXFloat64Div, s[3]->arch_opcode()); in TEST_F()
1128 Stream s = m.Build(); in TEST_F() local
1129 ASSERT_EQ(4U, s.size()); in TEST_F()
1130 EXPECT_EQ(kSSEFloat64Add, s[0]->arch_opcode()); in TEST_F()
1131 EXPECT_EQ(kSSEFloat64Mul, s[1]->arch_opcode()); in TEST_F()
1132 EXPECT_EQ(kSSEFloat64Sub, s[2]->arch_opcode()); in TEST_F()
1133 EXPECT_EQ(kSSEFloat64Div, s[3]->arch_opcode()); in TEST_F()
1144 Stream s = m.Build(); in TEST_F() local
1145 ASSERT_EQ(1U, s.size()); in TEST_F()
1146 EXPECT_EQ(kSSEFloat32Neg, s[0]->arch_opcode()); in TEST_F()
1147 ASSERT_EQ(1U, s[0]->InputCount()); in TEST_F()
1148 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
1149 ASSERT_EQ(1U, s[0]->OutputCount()); in TEST_F()
1150 EXPECT_EQ(s.ToVreg(n), s.ToVreg(s[0]->Output())); in TEST_F()
1151 EXPECT_EQ(kFlags_none, s[0]->flags_mode()); in TEST_F()
1158 Stream s = m.Build(AVX); in TEST_F() local
1159 ASSERT_EQ(1U, s.size()); in TEST_F()
1160 EXPECT_EQ(kAVXFloat32Neg, s[0]->arch_opcode()); in TEST_F()
1161 ASSERT_EQ(1U, s[0]->InputCount()); in TEST_F()
1162 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
1163 ASSERT_EQ(1U, s[0]->OutputCount()); in TEST_F()
1164 EXPECT_EQ(s.ToVreg(n), s.ToVreg(s[0]->Output())); in TEST_F()
1165 EXPECT_EQ(kFlags_none, s[0]->flags_mode()); in TEST_F()
1176 Stream s = m.Build(); in TEST_F() local
1177 ASSERT_EQ(1U, s.size()); in TEST_F()
1178 EXPECT_EQ(kSSEFloat64Neg, s[0]->arch_opcode()); in TEST_F()
1179 ASSERT_EQ(1U, s[0]->InputCount()); in TEST_F()
1180 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
1181 ASSERT_EQ(1U, s[0]->OutputCount()); in TEST_F()
1182 EXPECT_EQ(s.ToVreg(n), s.ToVreg(s[0]->Output())); in TEST_F()
1183 EXPECT_EQ(kFlags_none, s[0]->flags_mode()); in TEST_F()
1190 Stream s = m.Build(AVX); in TEST_F() local
1191 ASSERT_EQ(1U, s.size()); in TEST_F()
1192 EXPECT_EQ(kAVXFloat64Neg, s[0]->arch_opcode()); in TEST_F()
1193 ASSERT_EQ(1U, s[0]->InputCount()); in TEST_F()
1194 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
1195 ASSERT_EQ(1U, s[0]->OutputCount()); in TEST_F()
1196 EXPECT_EQ(s.ToVreg(n), s.ToVreg(s[0]->Output())); in TEST_F()
1197 EXPECT_EQ(kFlags_none, s[0]->flags_mode()); in TEST_F()
1214 Stream s = m.Build(); in TEST_F() local
1215 ASSERT_EQ(1U, s.size()); in TEST_F()
1216 EXPECT_EQ(kX64StackCheck, s[0]->arch_opcode()); in TEST_F()
1217 ASSERT_EQ(0U, s[0]->InputCount()); in TEST_F()
1218 ASSERT_EQ(1U, s[0]->OutputCount()); in TEST_F()
1219 EXPECT_EQ(s.ToVreg(n), s.ToVreg(s[0]->Output())); in TEST_F()
1220 EXPECT_EQ(kFlags_set, s[0]->flags_mode()); in TEST_F()
1221 EXPECT_EQ(kUnsignedGreaterThan, s[0]->flags_condition()); in TEST_F()
1231 Stream s = m.Build(); in TEST_F() local
1232 ASSERT_EQ(1U, s.size()); in TEST_F()
1233 EXPECT_EQ(kX64Shl, s[0]->arch_opcode()); in TEST_F()
1234 ASSERT_EQ(2U, s[0]->InputCount()); in TEST_F()
1235 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
1236 EXPECT_EQ(x, s.ToInt32(s[0]->InputAt(1))); in TEST_F()
1237 ASSERT_EQ(1U, s[0]->OutputCount()); in TEST_F()
1238 EXPECT_TRUE(s.IsSameAsFirst(s[0]->Output())); in TEST_F()
1239 EXPECT_EQ(s.ToVreg(n), s.ToVreg(s[0]->Output())); in TEST_F()
1250 Stream s = m.Build(); in TEST_F() local
1251 ASSERT_EQ(1U, s.size()); in TEST_F()
1252 EXPECT_EQ(kX64Shl, s[0]->arch_opcode()); in TEST_F()
1253 ASSERT_EQ(2U, s[0]->InputCount()); in TEST_F()
1254 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
1255 EXPECT_EQ(x, s.ToInt32(s[0]->InputAt(1))); in TEST_F()
1256 ASSERT_EQ(1U, s[0]->OutputCount()); in TEST_F()
1257 EXPECT_TRUE(s.IsSameAsFirst(s[0]->Output())); in TEST_F()
1258 EXPECT_EQ(s.ToVreg(n), s.ToVreg(s[0]->Output())); in TEST_F()
1269 Stream s = m.Build(); in TEST_F() local
1270 ASSERT_EQ(1U, s.size()); in TEST_F()
1271 EXPECT_EQ(kX64Movzxbl, s[0]->arch_opcode()); in TEST_F()
1272 ASSERT_EQ(1U, s[0]->InputCount()); in TEST_F()
1273 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
1274 ASSERT_EQ(1U, s[0]->OutputCount()); in TEST_F()
1275 EXPECT_EQ(s.ToVreg(n), s.ToVreg(s[0]->Output())); in TEST_F()
1282 Stream s = m.Build(); in TEST_F() local
1283 ASSERT_EQ(1U, s.size()); in TEST_F()
1284 EXPECT_EQ(kX64Movzxbl, s[0]->arch_opcode()); in TEST_F()
1285 ASSERT_EQ(1U, s[0]->InputCount()); in TEST_F()
1286 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
1287 ASSERT_EQ(1U, s[0]->OutputCount()); in TEST_F()
1288 EXPECT_EQ(s.ToVreg(n), s.ToVreg(s[0]->Output())); in TEST_F()
1299 Stream s = m.Build(); in TEST_F() local
1300 ASSERT_EQ(1U, s.size()); in TEST_F()
1301 EXPECT_EQ(kX64Movzxwl, s[0]->arch_opcode()); in TEST_F()
1302 ASSERT_EQ(1U, s[0]->InputCount()); in TEST_F()
1303 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
1304 ASSERT_EQ(1U, s[0]->OutputCount()); in TEST_F()
1305 EXPECT_EQ(s.ToVreg(n), s.ToVreg(s[0]->Output())); in TEST_F()
1312 Stream s = m.Build(); in TEST_F() local
1313 ASSERT_EQ(1U, s.size()); in TEST_F()
1314 EXPECT_EQ(kX64Movzxwl, s[0]->arch_opcode()); in TEST_F()
1315 ASSERT_EQ(1U, s[0]->InputCount()); in TEST_F()
1316 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
1317 ASSERT_EQ(1U, s[0]->OutputCount()); in TEST_F()
1318 EXPECT_EQ(s.ToVreg(n), s.ToVreg(s[0]->Output())); in TEST_F()
1328 Stream s = m.Build(); in TEST_F() local
1329 ASSERT_EQ(1U, s.size()); in TEST_F()
1330 EXPECT_EQ(kX64Lzcnt32, s[0]->arch_opcode()); in TEST_F()
1331 ASSERT_EQ(1U, s[0]->InputCount()); in TEST_F()
1332 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); in TEST_F()
1333 ASSERT_EQ(1U, s[0]->OutputCount()); in TEST_F()
1334 EXPECT_EQ(s.ToVreg(n), s.ToVreg(s[0]->Output())); in TEST_F()