aboutsummaryrefslogtreecommitdiff
path: root/libgcc/config/pa/t-dimode
blob: 19252a6e6b1c03f169f3b88709df1bd76fb493ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Extra DImode libgcc2 functions to build.
lib2difuncs = _muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 _cmpdi2 _ucmpdi2

# Build lib2difuncs.
lib2difuncs-o = $(patsubst %,%_di$(objext),$(lib2difuncs))
$(lib2difuncs-o): %_di$(objext): $(srcdir)/libgcc2.c
	$(gcc_compile) -DLIBGCC2_UNITS_PER_WORD=4 -DL$* -c $< $(vis_hide)
libgcc-objects += $(lib2difuncs-o)

ifeq ($(enable_shared),yes)
lib2difuncs-s-o = $(patsubst %,%_di_s$(objext),$(lib2difuncs))
$(lib2difuncs-s-o): %_di_s$(objext): $(srcdir)/libgcc2.c
	$(gcc_s_compile) -DLIBGCC2_UNITS_PER_WORD=4 -DL$* -c $<
libgcc-s-objects += $(lib2difuncs-s-o)
endif

# Extra DImode divmod functions to build.
lib2didivmodfuncs = _divdi3 _moddi3 _udivdi3 _umoddi3

# Build lib2didivmodfuncs.
lib2didivmod-o = $(patsubst %,%_di$(objext),$(lib2didivmodfuncs))
$(lib2didivmod-o): %_di$(objext): $(srcdir)/libgcc2.c
	$(gcc_compile) -DLIBGCC2_UNITS_PER_WORD=4 -DL$* -c $< \
	  $(LIB2_DIVMOD_EXCEPTION_FLAGS) $(vis_hide)
libgcc-objects += $(lib2didivmod-o)

ifeq ($(enable_shared),yes)
lib2didivmod-s-o = $(patsubst %,%_di_s$(objext),$(lib2didivmodfuncs))
$(lib2didivmod-s-o): %_di_s$(objext): $(srcdir)/libgcc2.c
	$(gcc_s_compile) -DLIBGCC2_UNITS_PER_WORD=4 -DL$* -c $< \
	  $(LIB2_DIVMOD_EXCEPTION_FLAGS)
libgcc-s-objects += $(lib2didivmod-s-o)
endif