Lines Matching refs:SREG
344 // sub / add which can clobber SREG.
345 let Defs = [SP, SREG], Uses = [SP] in {
363 let isCommutable = 1, Constraints = "$src = $rd", Defs = [SREG] in {
368 [(set i8:$rd, (add i8:$src, i8:$rr)), (implicit SREG)]>;
379 (implicit SREG)]>;
383 let Uses = [SREG] in
386 [(set i8:$rd, (adde i8:$src, i8:$rr)), (implicit SREG)]>;
395 let Uses = [SREG] in
399 (implicit SREG)]>;
406 (implicit SREG)]>,
413 let Constraints = "$rs = $rd", Defs = [SREG] in {
418 [(set i8:$rd, (sub i8:$rs, i8:$rr)), (implicit SREG)]>;
429 (implicit SREG)]>;
433 [(set i8:$rd, (sub i8:$rs, imm:$k)), (implicit SREG)]>;
443 (implicit SREG)]>;
448 (implicit SREG)]>,
451 // Subtract with carry operations which must read the carry flag in SREG.
452 let Uses = [SREG] in {
455 [(set i8:$rd, (sube i8:$rs, i8:$rr)), (implicit SREG)]>;
465 (implicit SREG)]>;
469 [(set i8:$rd, (sube i8:$rs, imm:$k)), (implicit SREG)]>;
477 (implicit SREG)]>;
484 let Constraints = "$src = $rd", Defs = [SREG] in {
487 [(set i8:$rd, (add i8:$src, 1)), (implicit SREG)]>;
491 [(set i8:$rd, (add i8:$src, -1)), (implicit SREG)]>;
498 let isCommutable = 1, Defs = [R1, R0, SREG] in {
535 let Constraints = "$src = $rd", Defs = [SREG] in {
541 [(set i8:$rd, (and i8:$src, i8:$rr)), (implicit SREG)]>;
551 (implicit SREG)]>;
555 [(set i8:$rd, (or i8:$src, i8:$rr)), (implicit SREG)]>;
565 (implicit SREG)]>;
569 [(set i8:$rd, (xor i8:$src, i8:$rr)), (implicit SREG)]>;
579 (implicit SREG)]>;
584 [(set i8:$rd, (and i8:$src, imm:$k)), (implicit SREG)]>;
594 (implicit SREG)]>;
598 [(set i8:$rd, (or i8:$src, imm:$k)), (implicit SREG)]>;
608 (implicit SREG)]>;
614 let Constraints = "$src = $rd", Defs = [SREG] in {
616 "com\t$rd", [(set i8:$rd, (not i8:$src)), (implicit SREG)]>;
624 [(set i16:$rd, (not i16:$src)), (implicit SREG)]>;
627 "neg\t$rd", [(set i8:$rd, (ineg i8:$src)), (implicit SREG)]>;
716 let Defs = [SREG] in {
725 [(AVRcmp i8:$rd, i8:$rr), (implicit SREG)]>;
734 [(AVRcmp i16:$src, i16:$src2), (implicit SREG)]>;
736 let Uses = [SREG] in
739 [(AVRcmpc i8:$rd, i8:$rr), (implicit SREG)]>;
746 let Uses = [SREG] in
749 [(AVRcmpc i16:$src, i16:$src2), (implicit SREG)]>;
754 [(AVRcmp i8:$rd, imm:$k), (implicit SREG)]>;
778 let Uses = [SREG] in {
836 let isBranch = 1, isTerminator = 1, Uses = [SREG] in {
1379 let Constraints = "$src = $rd", Defs = [SREG] in {
1390 (implicit SREG)]>;
1393 [(set i16:$rd, (AVRlslhi i16:$src)), (implicit SREG)]>;
1405 (implicit SREG)
1418 (implicit SREG)
1430 (implicit SREG)]>;
1440 (implicit SREG)]>;
1443 [(set i16:$rd, (AVRlsrlo i16:$src)), (implicit SREG)]>;
1455 (implicit SREG)
1468 (implicit SREG)
1480 (implicit SREG)]>;
1492 (implicit SREG)
1505 (implicit SREG)
1516 (implicit SREG)]>;
1519 [(set i16:$rd, (AVRasrlo i16:$src)), (implicit SREG)]>;
1525 (implicit SREG)]>,
1533 (implicit SREG)]>,
1544 (implicit SREG)]>;
1547 let Uses = [SREG] in {
1558 (implicit SREG)]>;
1576 (implicit SREG)]>;
1618 let Defs = [SREG] in def BST : FRdB<0b01, (outs),
1625 Uses = [SREG] in def BLD : FRdB<0b00,
1656 let Defs = [SREG] in def BSETs : FS<0,
1661 let Defs = [SREG] in def BCLRs : FS<1,
1744 (implicit SREG)]>;
1755 (implicit SREG)]>;
1757 // This pseudo gets expanded into a movw+adiw thus it clobbers SREG.
1758 let Defs = [SREG],