Revision 38482a77 target-sparc/op_helper.c
b/target-sparc/op_helper.c | ||
---|---|---|
902 | 902 |
} |
903 | 903 |
#endif |
904 | 904 |
|
905 |
static uint32_t compute_all_logic(void) |
|
906 |
{ |
|
907 |
return get_NZ_icc(CC_DST); |
|
908 |
} |
|
909 |
|
|
910 |
static uint32_t compute_C_logic(void) |
|
911 |
{ |
|
912 |
return 0; |
|
913 |
} |
|
914 |
|
|
915 |
#ifdef TARGET_SPARC64 |
|
916 |
static uint32_t compute_all_logic_xcc(void) |
|
917 |
{ |
|
918 |
return get_NZ_xcc(CC_DST); |
|
919 |
} |
|
920 |
#endif |
|
921 |
|
|
905 | 922 |
typedef struct CCTable { |
906 | 923 |
uint32_t (*compute_all)(void); /* return all the flags */ |
907 | 924 |
uint32_t (*compute_c)(void); /* return the C flag */ |
... | ... | |
912 | 929 |
[CC_OP_FLAGS] = { compute_all_flags, compute_C_flags }, |
913 | 930 |
[CC_OP_ADD] = { compute_all_add, compute_C_add }, |
914 | 931 |
[CC_OP_ADDX] = { compute_all_addx, compute_C_addx }, |
932 |
[CC_OP_LOGIC] = { compute_all_logic, compute_C_logic }, |
|
915 | 933 |
}; |
916 | 934 |
|
917 | 935 |
#ifdef TARGET_SPARC64 |
... | ... | |
920 | 938 |
[CC_OP_FLAGS] = { compute_all_flags_xcc, compute_C_flags_xcc }, |
921 | 939 |
[CC_OP_ADD] = { compute_all_add_xcc, compute_C_add_xcc }, |
922 | 940 |
[CC_OP_ADDX] = { compute_all_addx_xcc, compute_C_addx_xcc }, |
941 |
[CC_OP_LOGIC] = { compute_all_logic_xcc, compute_C_logic }, |
|
923 | 942 |
}; |
924 | 943 |
#endif |
925 | 944 |
|
Also available in: Unified diff