Deleted Added
full compact
sparc-dis.c (78828) sparc-dis.c (91041)
1/* Print SPARC instructions.
2 Copyright 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
3 2000 Free Software Foundation, Inc.
4
5This program is free software; you can redistribute it and/or modify
6it under the terms of the GNU General Public License as published by
7the Free Software Foundation; either version 2 of the License, or
8(at your option) any later version.

--- 405 unchanged lines hidden (view full) ---

414
415 case 'D':
416 creg (X_RD (insn));
417 break;
418#undef creg
419
420 case 'h':
421 (*info->fprintf_func) (stream, "%%hi(%#x)",
1/* Print SPARC instructions.
2 Copyright 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
3 2000 Free Software Foundation, Inc.
4
5This program is free software; you can redistribute it and/or modify
6it under the terms of the GNU General Public License as published by
7the Free Software Foundation; either version 2 of the License, or
8(at your option) any later version.

--- 405 unchanged lines hidden (view full) ---

414
415 case 'D':
416 creg (X_RD (insn));
417 break;
418#undef creg
419
420 case 'h':
421 (*info->fprintf_func) (stream, "%%hi(%#x)",
422 (0xFFFFFFFF
422 ((unsigned) 0xFFFFFFFF
423 & ((int) X_IMM22 (insn) << 10)));
424 break;
425
426 case 'i': /* 13 bit immediate */
427 case 'I': /* 11 bit immediate */
428 case 'j': /* 10 bit immediate */
429 {
430 int imm;

--- 280 unchanged lines hidden (view full) ---

711 if (errcode == 0)
712 {
713 /* Is it sethi to the same register? */
714 if ((prev_insn & 0xc1c00000) == 0x01000000
715 && X_RD (prev_insn) == X_RS1 (insn))
716 {
717 (*info->fprintf_func) (stream, "\t! ");
718 info->target =
423 & ((int) X_IMM22 (insn) << 10)));
424 break;
425
426 case 'i': /* 13 bit immediate */
427 case 'I': /* 11 bit immediate */
428 case 'j': /* 10 bit immediate */
429 {
430 int imm;

--- 280 unchanged lines hidden (view full) ---

711 if (errcode == 0)
712 {
713 /* Is it sethi to the same register? */
714 if ((prev_insn & 0xc1c00000) == 0x01000000
715 && X_RD (prev_insn) == X_RS1 (insn))
716 {
717 (*info->fprintf_func) (stream, "\t! ");
718 info->target =
719 (0xFFFFFFFF & (int) X_IMM22 (prev_insn) << 10);
719 ((unsigned) 0xFFFFFFFF
720 & ((int) X_IMM22 (prev_insn) << 10));
720 if (imm_added_to_rs1)
721 info->target += X_SIMM (insn, 13);
722 else
723 info->target |= X_SIMM (insn, 13);
724 (*info->print_address_func) (info->target, info);
725 info->insn_type = dis_dref;
726 info->data_size = 4; /* FIXME!!! */
727 }

--- 255 unchanged lines hidden ---
721 if (imm_added_to_rs1)
722 info->target += X_SIMM (insn, 13);
723 else
724 info->target |= X_SIMM (insn, 13);
725 (*info->print_address_func) (info->target, info);
726 info->insn_type = dis_dref;
727 info->data_size = 4; /* FIXME!!! */
728 }

--- 255 unchanged lines hidden ---